PHP 插入关联数组 - 我想向关联数组中的现有数组插入一个值
PHP insert array associative - i want to insert a value to existing array in assosciative array
我有问题
如何将值插入现有数组,我对结果的解释如下:
Array
(
[id] => 11
[title] => Lorem ipsum
[view] => 3445
)
但我所做的是:
<?php
$newVideo = [
'id'=>'11',
'title'=>'Lorem ipsum'
];
$view = '3445';
$newVideo[] = ['view'=>$view];
print_r($newVideo);
我的结果是:
Array
(
[id] => 11
[title] => Lorem ipsum
[0] => Array
(
[view] => 3445
)
)
更新问题:在我的例子中,我有复杂的foreach
在每个 foreach 中,我想像这样将值存储到变量数组中:
$newVideo = array();
foreach ($videos['items'] as $v){
$id = $v['snippet']['resourceId']['videoId'];
$title = $v['snippet']['title'];
$newVideo[] = [ "id" => $id ,"title" => $title];
$newVideo 有 ['id'] 和 ['title'],我也想存储 ['view'],但我必须先使用 foreach 函数才能获得视图来自 ['id'] 的数据,所以我使用 foreach 函数获取视图的代码如下:
$funcvid = array();
foreach($newVideo as $id){
$ids = $id['id'];
$vidview = YtJson('apilink', $ids, '');
array_push($funcvid, $vidview);
}
并且我得到了视频统计信息,因此我可以从该函数中获取视图数据,所以我再次使用此代码 foreach 来存储视图数据值:
foreach($funcvid as $f){
foreach ($f['items'] as $h){
$view = $h['statistics']['viewCount'];
}
$newVideo['view'] = $view;
}
但是对于最后一个 foreach,我无法将值存储到 $newVideo['view'],它不会丢失,如果数组是二维的,我就成功了,但我的期望是数组是 1维度
$newVideo
是一个二维数组。您需要索引第一个维度才能到达关联内部数组。
foreach($funcvid as $i => $f){
foreach ($f['items'] as $h){
$view = $h['statistics']['viewCount'];
}
$newVideo[$i]['view'] = $view;
}
但是你不需要 3 个不同的循环,你可以在一个循环中完成所有这些。
<?php
$newVideo = array();
foreach ($videos['items'] as $v){
$id = $v['snippet']['resourceId']['videoId'];
$title = $v['snippet']['title'];
$vidview = YtJson('apilink', $ids, '');
foreach ($vidview['items'] as $h) {
$view = $h['statistics']['viewCount'];
}
$newVideo[] = [ "id" => $id ,"title" => $title, 'view' => $view];
}
我有问题 如何将值插入现有数组,我对结果的解释如下:
Array
(
[id] => 11
[title] => Lorem ipsum
[view] => 3445
)
但我所做的是:
<?php
$newVideo = [
'id'=>'11',
'title'=>'Lorem ipsum'
];
$view = '3445';
$newVideo[] = ['view'=>$view];
print_r($newVideo);
我的结果是:
Array
(
[id] => 11
[title] => Lorem ipsum
[0] => Array
(
[view] => 3445
)
)
更新问题:在我的例子中,我有复杂的foreach 在每个 foreach 中,我想像这样将值存储到变量数组中:
$newVideo = array();
foreach ($videos['items'] as $v){
$id = $v['snippet']['resourceId']['videoId'];
$title = $v['snippet']['title'];
$newVideo[] = [ "id" => $id ,"title" => $title];
$newVideo 有 ['id'] 和 ['title'],我也想存储 ['view'],但我必须先使用 foreach 函数才能获得视图来自 ['id'] 的数据,所以我使用 foreach 函数获取视图的代码如下:
$funcvid = array();
foreach($newVideo as $id){
$ids = $id['id'];
$vidview = YtJson('apilink', $ids, '');
array_push($funcvid, $vidview);
}
并且我得到了视频统计信息,因此我可以从该函数中获取视图数据,所以我再次使用此代码 foreach 来存储视图数据值:
foreach($funcvid as $f){
foreach ($f['items'] as $h){
$view = $h['statistics']['viewCount'];
}
$newVideo['view'] = $view;
}
但是对于最后一个 foreach,我无法将值存储到 $newVideo['view'],它不会丢失,如果数组是二维的,我就成功了,但我的期望是数组是 1维度
$newVideo
是一个二维数组。您需要索引第一个维度才能到达关联内部数组。
foreach($funcvid as $i => $f){
foreach ($f['items'] as $h){
$view = $h['statistics']['viewCount'];
}
$newVideo[$i]['view'] = $view;
}
但是你不需要 3 个不同的循环,你可以在一个循环中完成所有这些。
<?php
$newVideo = array();
foreach ($videos['items'] as $v){
$id = $v['snippet']['resourceId']['videoId'];
$title = $v['snippet']['title'];
$vidview = YtJson('apilink', $ids, '');
foreach ($vidview['items'] as $h) {
$view = $h['statistics']['viewCount'];
}
$newVideo[] = [ "id" => $id ,"title" => $title, 'view' => $view];
}