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

如何将带有对象的php数组转换为简单数组?

如何将带有对象的php数组转换为简单数组?,php,drupal,Php,Drupal,我有一个返回如下数组的函数 Array ( [0] => stdClass Object ( [tid] => 1 [vid] => 2 [name] => About Us [description] => [format] => wysiwyg_editor [weight] =>

我有一个返回如下数组的函数

Array
(
    [0] => stdClass Object
        (
            [tid] => 1
            [vid] => 2
            [name] => About Us
            [description] => 
            [format] => wysiwyg_editor
            [weight] => 0
            [depth] => 0
            [parents] => Array
                (
                    [0] => 0
                )

        )

[1] => stdClass Object
    (
        [tid] => 200
        [vid] => 2
        [name] => Stories
        [description] => 
        [format] => wysiwyg_editor
        [weight] => 0
        [depth] => 0
        [parents] => Array
            (
                [0] => 0
            )

    )
)

为了简化它以便进一步使用,我想将这个数组转换成简单的数组,其中键为[tid],值为[name] 因此,它将是这样的smth:

Array
(
    [1] => About Us
    [200] => Stories
)

任何关于正确代码语法的提示或帮助都将非常有用。谢谢

试试这个:

$result = array();
foreach ($data as $row) {
    $result[$row->tid] = $row->name;
}
var_dump($result);
使用以下代码段:

function transform($arr){
   $result = array();

   foreach($arr as $obj){
     $result[$obj->tid] = $obj->name;
   }

   return $result;
}

循环遍历条目,将某个新数组中的键设置为
$entry->tid
,将值设置为
$entry->name
。你试过类似的方法吗?我找到的教程中没有一个包含所有这些元素,所以我决定寻求帮助。我现在还不清楚物体的性质。。。谢谢@ijujym然后,请针对您不理解的内容提出有针对性的问题,而不是提出大局性的“请给我一个解决方案”问题。如果你把问题分解得足够详细,你很可能会回答自己的问题,但至少这些有针对性的问题对未来有同样问题的访问者更有用处。人们来了,什么都不做,让其他人为他们做,这真是太遗憾了。至少在给他们答案之前,我们应该问问他们尝试了什么。羞愧是因为人们没有通过这样做来学习,他们复制并粘贴,继续工作,然后带着他们的下一个问题回到这里,再次让你为他们写代码。“完全是浪费。”乔恩,这就是投票否决这个问题的原因。它最终会阻止用户发布更多这样的问题。@deceze虽然不是只有一个用户,但问题是因为他们知道人们只会发布代码。我可以尽可能地否决这个问题,但这不会阻止他们重新注册,也不会阻止其他用户这样做。@Jon it。我同意这是一个问题,但不是回答者应该受到惩罚的问题。不管怎么说,这个讨论很老,而且有点离题。看到一些解释会很好,至少可以帮助他们学习。