猿问

如何从数组中获取元素?

如何从中获取单个元素?

array(1) { [0]=> object(stdClass)#3 (2) { ["id"]=> int(29595) ["image_id"]=> string(20) "eohsidatfx8wyw5ltzt6" } }

我需要分开“image_id”。怎么做?我试过

echo $result["image_id"]

但它不起作用:

Notice: Undefined index: image_id in C:\xampp\htdocs\IGDB\moje\index.php on line 53


慕容森
浏览 99回答 3
3回答

守着星空守着你

好的,我知道了。$result3=array_column($result2, 'image_id'); echo $result3[0];

呼如林

看来您的数组只直接包含object(stdClass)#3. 该对象本身是一个包含id和的数组image_id。你可以image_id通过做访问echo $result[0]["image_id"];

RISEBY

$myArray = array(    '#3' => array (        "id"=> 29595,         "image_id"=> "eohsidatfx8wyw5ltzt6"    )); 你要找的是你的阵列的第二级。使用 foreach 循环迭代数组键/值对。foreach($myArray as $value){     foreach($value as $key => $id){          if($key === 'image_id'){               $output = $id;// output now holds the vlaue of the key set with 'image_id'          }     }}如果您知道密钥的值,您还可以通过使用密钥来访问它,如下所示:$arrayname['firstlevelkey']['secondlevelkey'];Notice: Undefined index: image_id in C:\xampp\htdocs\IGDB\moje\index.php on line 53-->这是因为您正在定义一个数组,其中包含一个数组中不存在的键echo $result["image_id"]--> 这里你告诉 php “image_id”在数组的第一层,然而,它看起来嵌套在你试图解析的数组的第二层。$result['#3']['image_id']。如果您不确定,is_array()如果第一个是包含子数组的键值,则使用 编写一个条件查找第一个数组。然后再次运行 foreach 循环以查找键/对值。foreach($arr as $values){    // do something if value is string    if(is_array($values){        foreach($values as $key => $value){             // check your second level $key/$value        }    }}
随时随地看视频慕课网APP
我要回答