Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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/2/django/19.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数组。插入“$“关键”=&燃气轮机&引用$“价值”;使用数组_push()配对到数组中;_Php_Array Push - Fatal编程技术网

PHP数组。插入“$“关键”=&燃气轮机&引用$“价值”;使用数组_push()配对到数组中;

PHP数组。插入“$“关键”=&燃气轮机&引用$“价值”;使用数组_push()配对到数组中;,php,array-push,Php,Array Push,为什么这样不行 $slidetotal=1; $slideids = array(); while ($rowcs = mysql_fetch_array($orig_slides_result)) { $key = $slidetotal; array_push($slideids[$key], $rowcs['id']); $slidetotal++; } 我得到这个错误: [phpBB Debug]PHP注意:在文件//*.PHP的第1

为什么这样不行

$slidetotal=1;      
$slideids = array();
    while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $key = $slidetotal;
    array_push($slideids[$key], $rowcs['id']);
    $slidetotal++;
    }
我得到这个错误: [phpBB Debug]PHP注意:在文件//*.PHP的第161行:array\u push()[function.array push]:第一个参数应该是数组

尽管有人评论说,您可以在本页上执行此操作: ,(查找:“在数组中插入“$key”=>“$value”对”)


在php数组中插入单个值列表的下一个最佳方法是什么?顺便说一句,我真不敢相信在google.com上很难找到这样的东西。真的吗?

那PHP.net的评论是不正确的。这将
$rowcs['id']
推到数组
$slideids[$key]
,而不是数组
$slideids

您应该执行以下操作来代替通话:

你为什么不这样做

$slidetotal=1;      
$slideids = array();
while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $slideids[$slidetotal] = $rowcs['id'];
    $slidetotal++;
}
如果你不需要钥匙从1开始,你也可以像下面这样做

$slideids = array();
while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $slideids[] = $rowcs['id'];
}

嗯,努力搜索对谷歌有用,我想:) 不管怎样,错误告诉你你需要知道的一切。这意味着array_push的第一个参数不是数组,您给array_push一个值(字符串)($slideids[$key])。 还有,为什么需要在php中使用array_push?我宁愿使用

$slideids[] = $rowcs['id'];
你想做的是:

$slideids[$key] = $rowcs['id'];

我想……

那句话完全错了。您不能使用
array\u push()
将键值对推送到数组上。在我尝试使用array\u push()之前,我正在做Tim Cooper和osoner认为正确的事情。也许我正确地创建了数组,但没有从中正确地检索变量。是这样吗$id=$slideids[$i'];这正是我在查找之前最初尝试的。(除了我没有将$slidetotal重新定义为$key之外)我不确定出了什么问题,只是我无法从数组中检索变量。也许我没有正确地检索它。是这样吗$id=$slideids[$id'];
$slideids[$key] = $rowcs['id'];