PHP不能回显每个数组
我无法对每个阵列进行回音。不知道我做错了什么。如何回显每个阵列?我尝试过下面这样的方法,但没有成功PHP不能回显每个数组,php,arrays,wordpress,Php,Arrays,Wordpress,我无法对每个阵列进行回音。不知道我做错了什么。如何回显每个阵列?我尝试过下面这样的方法,但没有成功 function simple_social_sharing( $attr_twitter = null, $attr_items = null ) { // parse variables $twitter_account = $attr_twitter; $item_toggles = $attr_items; // get post content and
function simple_social_sharing( $attr_twitter = null, $attr_items = null ) {
// parse variables
$twitter_account = $attr_twitter;
$item_toggles = $attr_items;
// get post content and urlencode it
global $post;
$browser_title_encoded = urlencode( trim( wp_title( '', false, 'right' ) ) );
$page_title_encoded = urlencode( get_the_title() );
$page_url_encoded = urlencode( get_permalink($post->ID) );
// create share items array
$share_items = array ();
// set each item
$item_facebook = array(
"class" => "facebook",
"href" => "http://www.facebook.com/sharer.php?u={$page_url_encoded}&t={$browser_title_encoded}",
"text" => "Share on Facebook"
);
$item_twitter = array(
"class" => "twitter",
"href" => "http://twitter.com/share?text={$page_title_encoded}&url={$page_url_encoded}&via={$twitter_account}",
"text" => "Share on Twitter"
);
$item_google = array(
"class" => "google",
"href" => "http://plus.google.com/share?url={$page_url_encoded}",
"text" => "Share on Google+"
);
// test whether to display each item
if($item_toggles) {
// explode into array
$item_toggles_array = explode( ",", $item_toggles );
// set each item on or off
$show_facebook = $item_toggles_array['0'];
$show_twitter = $item_toggles_array['1'];
$show_google = $item_toggles_array['2'];
}
else {
$display_all_items = 1;
}
// form array of items set to 1
if( $show_facebook==1 || $display_all_items ) {
array_push( $share_items, $item_facebook );
}
if( $show_twitter==1 || $display_all_items) {
array_push( $share_items, $item_twitter );
}
if( $show_google==1 || $display_all_items) {
array_push( $share_items, $item_google );
}
// if one or more items
if ( ! empty( $share_items ) ) {
// create output
$share_output = "<ul class=\"ss-share\">\n";
foreach ( $share_items as $share_item ) {
$share_output .= "<li class=\"ss-share-item\">\n";
$share_output .= "<a class=\"ss-share-link ico-{$share_item['class']}\" href=\"{$share_item["href"]}\" rel=\"nofollow\" target=\"_blank\">{$share_item['text']}</a>\n";
$share_output .= "</li>\n";
}
$share_output .= "</ul>";
// echo output
echo $share_output;
}
}
// add shortcode to output buttons
function simple_social_sharing_shortcode( $atts, $content = null ) {
// parse variables / set defaults
extract( shortcode_atts( array(
'twitter' => '',
'display' => '1,1,1',
), $atts ) );
// output buttons
ob_start();
simple_social_sharing( $twitter, $display );
$output_string = ob_get_contents();
ob_end_clean();
return force_balance_tags( $output_string );
}
功能简单的社交共享($attr\u twitter=null,$attr\u items=null){
//解析变量
$twitter\u account=$attr\u twitter;
$item\u切换=$attr\u items;
//获取帖子内容并对其进行URL编码
全球$员额;
$browser_title_encoded=urlencode(修剪(wp_title('',false,'right'));
$page_title_encoded=urlencode(获取_title());
$page_url_encoded=urlencode(get_permalink($post->ID));
//创建共享项数组
$share_items=array();
//设置每个项目
$item_=数组(
“类”=>“facebook”,
“href”=>”http://www.facebook.com/sharer.php?u={$page\u url\u encoded}&;t={$browser\u title\u encoded}”,
“文本”=>“在Facebook上共享”
);
$item\u twitter=array(
“类”=>“推特”,
“href”=>”http://twitter.com/share?text={$page\u title\u encoded}&;url={$page\u url\u encoded}&;via={$twitter\u account}”,
“文本”=>“在Twitter上共享”
);
$item\u google=array(
“类”=>“谷歌”,
“href”=>”http://plus.google.com/share?url={$page\u url\u encoded}“,
“文本”=>“在Google+上共享”
);
//测试是否显示每个项目
如果($item_切换){
//爆炸成阵列
$item\u toggles\u数组=分解(“,”,$item\u toggles);
//打开或关闭每个项目
$show_facebook=$item_切换_数组['0'];
$show_twitter=$item_切换_数组['1'];
$show_google=$item_切换_数组['2'];
}
否则{
$display\u all\u items=1;
}
//表单项数组设置为1
如果($show_facebook==1 | |$display_all_项目){
数组推送($share\u items,$item\u facebook);
}
如果($show_twitter==1 | |$display_all_项目){
数组推送($share\u items,$item\u twitter);
}
如果($show_google==1 | |$display_all_项目){
数组推送($share\u items,$item\u google);
}
//如果一个或多个项目
如果(!空($share_items)){
//创建输出
$share\U output=“\n”;
foreach($share\u项目作为$share\u项目){
$share\U output.=“- \n”;
$share_输出=“\n”;
$share\U output.=“
\n”;
}
$share_输出=“
”;
//回波输出
echo$share_输出;
}
}
//向输出按钮添加快捷代码
函数简单\社交\共享\快捷码($atts,$content=null){
//解析变量/设置默认值
提取(短码)附件(数组)(
'推特'=>'',
'显示'=>'1,1,1',
)美元(附件);;
//输出按钮
ob_start();
简单的社交分享($twitter,$display);
$output_string=ob_get_contents();
ob_end_clean();
返回力\平衡\标签($output\字符串);
}
开发人员调用函数也不起作用
<?php simple_social_sharing('twitteraccount', '1,1,1'); ?>
我试图用这种方法调用每个数组,但它是错误的
<?php simple_social_sharing([1]); ?>
向下,在foreach块中有一个片段:
... href=\“{$share\u项目[“href”]}\” href周围的双引号会给您带来问题 您需要将其设置为
... href=\“{$share\u item['href']}\”..函数应返回值,而不回显它 而不是
echo$share\u输出
,您应该让它返回$share\u输出代码>
回显函数的返回值(如果是数组,则print\r
it elseEcho
it)以查看输出
<?php echo simple_social_sharing('twitteraccount', '1,1,1'); //NOTE THE 'echo' HERE.. ?>
尝试var\u dump
查看您的结构。或者echo'。打印($var,true)。“”
@Kolinkvar_dump
在使用$output变量之前给了我空值?>更改了设置,但没有给我任何结果。。我不想把它用在Wordpress上。它应该直接用作PHP