Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_Multidimensional Array - Fatal编程技术网

php多维数组重命名键不工作

php多维数组重命名键不工作,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个多维数组,如下所示: Array ( [0] => Array ( [banner_link] => http://www.eclipse-pos.com/eclipse/images/small_banner2.jpg ) [1] => Array ( [banners] => 143038313801.jpg,143038313809.jpg,14

我有一个多维数组,如下所示:

Array
(
    [0] => Array
        (
            [banner_link] => http://www.eclipse-pos.com/eclipse/images/small_banner2.jpg
        )

    [1] => Array
        (
            [banners] => 143038313801.jpg,143038313809.jpg,143038313811.jpg
        )

    [2] => Array
        (
            [banners] => 143038306301.jpg,143038306302.jpg,143038306303.jpeg,143038306310.jpg,143038306311.jpg,143038306312.png
        )

)
现在我想把banner_链接键重命名为banner

我试过使用下面的代码,但没有成功

foreach ( $getBefamousHomepage as $k=>$v )
{
    $getBefamousHomepage[$k] ['banners'] = $getBefamousHomepage[$k] ['banner_link'];
    unset($getBefamousHomepage[$k]['banner_link']);
}
获取此错误:

Notice: Undefined index: banner_link in /var/www/sitename/application/views/_templates/global_footer.php on line 14

Notice: Undefined index: banner_link in /var/www/sitename/application/views/_templates/global_footer.php on line 14

Array
(
    [0] => Array
        (
            [banners] => http://www.eclipse-pos.com/eclipse/images/small_banner2.jpg
        )

    [1] => Array
        (
            [banners] => 
        )

    [2] => Array
        (
            [banners] => 
        )

)
我做错了什么?你知道吗

谢谢。

横幅链接并不总是存在。用于查看它是否存在 :

横幅链接并不总是存在。用于查看它是否存在 :


你的代码几乎不错。您只需要添加一个额外的检查来查看banner_链接是否存在。 如果没有,它会抛出一个通知,如您所见,但代码仍将执行,因此标题索引将设置为null

代码示例:

foreach ( $getBefamousHomepage as $k=>$v )
{
    if (isset($getBefamousHomepage[$k]['banner_link'])) 
    {
        $getBefamousHomepage[$k] ['banners'] = $getBefamousHomepage[$k] ['banner_link'];
        unset($getBefamousHomepage[$k]['banner_link']);
    }
}

你的代码几乎不错。您只需要添加一个额外的检查来查看banner_链接是否存在。 如果没有,它会抛出一个通知,如您所见,但代码仍将执行,因此标题索引将设置为null

代码示例:

foreach ( $getBefamousHomepage as $k=>$v )
{
    if (isset($getBefamousHomepage[$k]['banner_link'])) 
    {
        $getBefamousHomepage[$k] ['banners'] = $getBefamousHomepage[$k] ['banner_link'];
        unset($getBefamousHomepage[$k]['banner_link']);
    }
}
您应该检查横幅链接是否存在。 为了避免覆盖横幅,您应该检查横幅是否不存在

foreach ( $getBefamousHomepage as $k=>$v ) {    
    if(isset($getBefamousHomepage[$k]['banner_link']) && !isset($getBefamousHomepage[$k]['banners'])) {        
        $getBefamousHomepage[$k]['banners'] = $getBefamousHomepage[$k]['banner_link'];
        unset($getBefamousHomepage[$k]['banner_link']);
    }
}
您应该检查横幅链接是否存在。 为了避免覆盖横幅,您应该检查横幅是否不存在

foreach ( $getBefamousHomepage as $k=>$v ) {    
    if(isset($getBefamousHomepage[$k]['banner_link']) && !isset($getBefamousHomepage[$k]['banners'])) {        
        $getBefamousHomepage[$k]['banners'] = $getBefamousHomepage[$k]['banner_link'];
        unset($getBefamousHomepage[$k]['banner_link']);
    }
}

数组中的某些元素没有banner_链接,因此在您尝试访问它时会发出警告。请尝试以下方法:

if(isset($getBefamousHomepage[$k] ['banner_link'])) {

    $getBefamousHomepage[$k] = array("banners" => $getBefamousHomepage[$k] ['banner_link']);

}

数组中的某些元素没有banner_链接,因此在您尝试访问它时会发出警告。请尝试以下方法:

if(isset($getBefamousHomepage[$k] ['banner_link'])) {

    $getBefamousHomepage[$k] = array("banners" => $getBefamousHomepage[$k] ['banner_link']);

}

请将标题改为描述问题的一句话。这不是谷歌搜索。请将你的标题改为描述你的问题的一句话。这不是谷歌搜索,太棒了!。工作得很好。谢谢,好极了!。工作得很好。谢谢