Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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_Multidimensional Array - Fatal编程技术网

Php 向多维数组添加新密钥无效

Php 向多维数组添加新密钥无效,php,multidimensional-array,Php,Multidimensional Array,我从通道表中获取多维数组 $sql_channels = get channel sql $channels = $sql_channels->fetchAll(); 我希望在每个频道中添加视频: foreach($channels as $key=>$channel) { $sql_product = get video sql $product = $sql_product->fetchAll(PDO::FETCH_ASSOC); $channels[$key

我从通道表中获取多维数组

$sql_channels = get channel sql
$channels = $sql_channels->fetchAll();
我希望在每个频道中添加视频:

foreach($channels as $key=>$channel)
{

$sql_product = get video sql
    $product = $sql_product->fetchAll(PDO::FETCH_ASSOC);

$channels[$key]['videos'] = $product;
}
但只有第一个频道有视频,第二个频道之后['video']是空的!!! 这样说:

Array
(
    [0] => Array
        (
            [chanel_title] => test0
            [vedios] => Array
                (
                    [0] => Array
                        (
                            [id] => 23 
                        )

                )

        )

    [1] => Array
        (
            [chanel_title] => test1

        )

    [2] => Array
        (
            [chanel_title] => test2

        )

    [3] => Array
        (
            [chanel_title] => test3
        )

    [4] => Array
        (
            [chanel_title] => test4

        )
)
所有频道都包含一个视频。我用这种方法将“图像”添加到通道阵列中,效果很好,但视频不起作用

试试这个:

$sql_channels = get channel sql
$channels = $sql_channels->fetchAll();

$sql_product = get video sql
$product = $sql_product->fetchAll(PDO::FETCH_ASSOC);

// var_dump($product); exit; // uncomment to verify data array

foreach($channels as &$channel_i)
{
    $channel_i['videos'] = $product;
}unset($channel_i);                 

// var_dump($channels); exit; // uncomment to verify output array