向多维数组添加新键无效


add new key to multidimensional array not work

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

$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;
}

但只有第一个频道有视频,第二个频道之后[视频]为空!!!像这样输出:

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