Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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_Arrays_Associative Array_Symfony 3.2 - Fatal编程技术网

在PHP中使用另一个数组创建关联数组时出现的问题

在PHP中使用另一个数组创建关联数组时出现的问题,php,arrays,associative-array,symfony-3.2,Php,Arrays,Associative Array,Symfony 3.2,我正在尝试使用一个对象在PHP中创建一个关联数组。对象是来自数据库的值,称为Category。它只有两个值,一个id和一个name字段 这就是我所拥有的: $category = $em->getRepository('AppBundle:Category')->findAll(); $stuff = array(); foreach($category as $cat) { $stuff[$cat->getName()] = $stuff[$cat->get

我正在尝试使用一个对象在PHP中创建一个关联数组。对象是来自数据库的值,称为Category。它只有两个值,一个id和一个name字段

这就是我所拥有的:

$category = $em->getRepository('AppBundle:Category')->findAll();

$stuff = array();

foreach($category as $cat) {
    $stuff[$cat->getName()] = $stuff[$cat->getId()];
}
但我犯了一个严重的错误:

注意:未定义的偏移量:1


我应该说我使用的是Symfony 3。任何帮助都会很好。

您的方法是正确的,但是您需要删除
echo
,因为您不想输出任何内容。您还试图从试图输入值的数组中分配值

$stuff[ $cat->getName() ] = $cat->getId();

很抱歉,我刚刚忽略了该值,并用$cat->getId()替换为$stuff[$cat->getId()],并且它工作正常

您的$stuff数组没有索引1,因此它将导致该问题

这是由$stuff[$cat->getId()]引起的;,应该是$cat->getId()


我认为这是
$stuff[$cat->getId()]
应该是这个
$cat->getId()不是吗?
foreach($category as $cat) {
    $stuff[$cat->getName()] = $cat->getId();
}