【问题标题】:Get array sub-element when the array name is unique in phpphp中数组名唯一时获取数组子元素
【发布时间】:2018-06-24 00:11:38
【问题描述】:

我有这个数组对象:

//$array
Array (
[#insert_long_unique_id] =>
Array ( 
[0] => WP_Post Object ( [ID] => 770  
) )
[#insert_long_unique_id] => 
Array ( 
[0] => WP_Post Object ( [ID] => 530 
) )

#insert_long_unique_id 是一个自动生成的 ID,我不知道是哪个方法或插件生成它,但它总是不同的。

我只需要在我的项目中到达并回显[ID] => 770(第一个元素)。

【问题讨论】:

  • 您可以在获取数组元素后使用foreachbreak。这将导致获得第一个元素
  • @Kaddath 好的,但是这个不可访问的唯一 ID 呢?

标签: php arrays wordpress plugins


【解决方案1】:

您可以通过array_column()进行操作

$id_array = array_column($array,'ID');

echo $id_array[0]; //print first-id

//In case if you want to print all ID's

foreach($id_array as $id_arr){
  echo $id_arr;
}

【讨论】:

  • @MysticUnicorn 你检查答案了吗?
  • 当然是第一个答案。是的,我明白了,我给它一个赞成票。感谢分享
  • 只有一件事可以测试我的答案也适用于您的场景,如果有效,请使用我的,因为它对您来说是简单且不冗长的解决方案。由于foreach() 以及多个条件检查,另一个是您的重度解决方案。
【解决方案2】:

如果您的array 变量名称是$array,那么您可以像这样访问对象内部的ID

foreach ($array as $key => $value) {
    if (!empty($value)) { 
        if(!empty($value[0]) && is_object($value[0])){ 
            $myid = $value[0]->ID;
        }
    }
}

【讨论】:

  • 我知道但#insert_long_unique_id 总是不同的 有时像b163cb25371a1b7c550d8f69fe211cc8 有时像14f74cf38563b889386beeec511033e2
  • @MysticUnicorn 在下面查看我的答案。它适用于您的情况
猜你喜欢
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 2011-07-19
相关资源
最近更新 更多