Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法重新声明函数_Php_Wordpress_Function_Bubble Sort - Fatal编程技术网

Php 无法重新声明函数

Php 无法重新声明函数,php,wordpress,function,bubble-sort,Php,Wordpress,Function,Bubble Sort,我创建了一个WordPress插件,可以对社交媒体档案进行排序,并按订单号输出。我有一个问题,如果我在页面上有插件超过1次,我会得到错误: Fatal error: Cannot redeclare bh_sort_profiles() (previously declared in /Users/brturpin/Sites/plugin-development/wp-content/plugins/bh-social- icons/inc/output.php:68) in /Users

我创建了一个WordPress插件,可以对社交媒体档案进行排序,并按订单号输出。我有一个问题,如果我在页面上有插件超过1次,我会得到错误:

Fatal error: Cannot redeclare bh_sort_profiles() (previously declared in 
/Users/brturpin/Sites/plugin-development/wp-content/plugins/bh-social- 
icons/inc/output.php:68) in /Users/brturpin/Sites/plugin-development/ 
wp-content/plugins/bh-social-icons/inc/output.php on line 78
我理解这是因为我用来对配置文件进行排序的函数现在被调用了两次,但不确定如何执行,因此我没有此错误:

代码:

$bh_social_profile_array = array (
array(
    "id" => "facebook",
    "url" => $facebook_url,
    "class" => "icon-facebook",
    "color" => $facebook_color,
    "order" => $facebook_order
    ),
array(
    "id" => "twitter",
    "url" => $twitter_url,
    "class" => "icon-twitter-1",
    "color" => $twitter_color,
    "order" => $twitter_order
    ),
array(
    "id" => "pinterest",
    "url" => $pinterest_url,
    "class" => "icon-pinterest",
    "color" => $pinterest_color,
    "order" => $pinterest_order
    ),
array(
    "id" => "instagram",
    "url" => $instagram_url,
    "class" => "icon-instagram",
    "color" => $instagram_color,
    "order" => $instagram_order
    ),
array(
    "id" => "gplus",
    "url" => $gplus_url,
    "class" => "icon-gplus",
    "color" => $gplus_color,
    "order" => $gplus_order,
    ),
array(
    "id" => "linkedin",
    "url" => $linkedin_url,
    "class" => "icon-linkedin",
    "color" => $linkedin_color,
    "order" => $linkedin_order
    ),
array(
    "id" => "youtube",
    "url" => $youtube_url,
    "class" => "icon-youtube",
    "color" => $youtube_color,
    "order" => $youtube_order
    ),
array(
    "id" => "rss",
    "url" => $rss_url,
    "class" => "icon-rss",
    "color" => $rss_color,
    "order" => $rss_order
    ),
);


function bh_sort_profiles($arr) {
    $size = count($arr);
    for ($i=0; $i<$size; $i++) {
        for ($j=0; $j<$size-1-$i; $j++) {
            if ($arr[$j+1]["order"] < $arr[$j]["order"]) {
                swap($arr, $j, $j+1);
            }
        }
    }
    return $arr;
}

function swap(&$arr, $a, $b) {
    $tmp = $arr[$a];
    $arr[$a] = $arr[$b];
    $arr[$b] = $tmp;
}

$bh_sorted_profiles = bh_sort_profiles($bh_social_profile_array);

?>

<div style="text-align: <?php echo $social_align; ?>;">
    <?php foreach($bh_sorted_profiles as $i => $profile): ?>

        <?php if ($profile["url"] != ""): ?>

            <a href="<?php echo $profile["url"]; ?>" class="social-icons <?php echo $profile["class"]; ?>" style="background-color: <?php if ($profile['color'] != '') { echo $profile['color']; } ?>; color: <?php echo $text_color; ?>; font-size: <?php echo $font_size; ?>; border-radius: <?php echo $border_radius; ?>" target="<?php echo $new_window; ?>"></a>

        <?php endif; ?>

    <?php endforeach; ?>
</div>
$bh\u社会性\u档案\u数组=数组(
排列(
“id”=>“facebook”,
“url”=>$facebook\u url,
“类”=>“图标facebook”,
“颜色”=>$facebook\u颜色,
“订单”=>$facebook\u订单
),
排列(
“id”=>“twitter”,
“url”=>$twitter\u url,
“class”=>“icon-twitter-1”,
“颜色”=>$twitter\u颜色,
“订单”=>$twitter\u订单
),
排列(
“id”=>“pinterest”,
“url”=>$pinterest\u url,
“类”=>“图标pinterest”,
“颜色”=>$pinterest\u颜色,
“订单”=>$pinterest\u订单
),
排列(
“id”=>“instagram”,
“url”=>$instagram\u url,
“类”=>“图标instagram”,
“颜色”=>$instagram\u颜色,
“订单”=>instagram\u订单
),
排列(
“id”=>“gplus”,
“url”=>$gplus\u url,
“类”=>“图标gplus”,
“颜色”=>$gplus\u颜色,
“订单”=>$gplus\u订单,
),
排列(
“id”=>“linkedin”,
“url”=>$linkedin\u url,
“类”=>“图标linkedin”,
“颜色”=>$linkedin\u颜色,
“订单”=>$linkedin\u订单
),
排列(
“id”=>“youtube”,
“url”=>$youtube\u url,
“类”=>“图标youtube”,
“颜色”=>$youtube\u颜色,
“订单”=>$youtube\u订单
),
排列(
“id”=>“rss”,
“url”=>$rss\U url,
“类”=>“图标rss”,
“颜色”=>$rss\u颜色,
“订单”=>$rss\u订单
),
);
功能bh_排序_配置文件($arr){
$size=计数($arr);

对于($i=0;$id)在不同的文件中声明函数,并将其包含在
include_once()
中。在不同的文件中声明函数,并将其包含在
include_once()
中。