array_map中的非法字符串偏移量

时间:2018-03-02 10:49:08

标签: php arrays laravel

尝试使用函数array_map

 array_map(function ($items) {
                    return $items[$this->relatedKey];
                }, $this->parseIds($ids))

$ ids是item =>的数组值:

 $ids = array:1 [
      "parent_id" => "15"
    ]

需要查找的关键字:

$this->relatedKey = "parent_id"

得到错误:

Illegal string offset 'parent_id'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

请看文档中的这个示例(http://php.net/manual/en/function.array-map.php):

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);

它将返回一个包含1,8,27等的数组......

您用于参数的名称$items具有误导性,因为参数将是数组的每个$item,并且array_map()应该以某种方式对其进行转换。

我不确定你想做什么,但显然你不需要array_map()为你的目的。