3

为什么这行不通?

$slidetotal=1;      
$slideids = array();
    while ($rowcs = mysql_fetch_array($orig_slides_result)) {
    $key = $slidetotal;
    array_push($slideids[$key], $rowcs['id']);
    $slidetotal++;
    }

我得到这个错误:[phpBB Debug] PHP Notice : in file ///* .php 第 161 行:array_push() [function.array-push]:第一个参数应该是一个数组

尽管有人评论过,您可以在此页面上执行此操作:http: //php.net/manual/en/function.array-push.php,(查找:“插入“$key”=>“$value”对成一个数组”)

将单个值列表插入 php 数组的下一个最佳方法是什么?顺便说一句,我真的不敢相信在 google.com 上很难找到相关内容。严重地?

4

3 回答 3

6

该 PHP.net 评论不正确。那是推$rowcs['id']入阵列$slideids[$key],而不是阵列$slideids

您应该执行以下操作来代替您的array_push()电话:

$slideids[$key] = $rowcs['id'];
于 2011-12-31T00:32:37.600 回答
0

你为什么不这样做;

$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'];
}
于 2011-12-31T00:36:01.450 回答
0

ummm hard-searching will work for google我认为:)无论如何,错误会告诉你你需要知道的一切。这意味着 array_push 的第一个参数不是一个数组,你给 array_push ($slideids[$key]) 一个值(字符串)。另外为什么你需要在php中使用array_push?我宁愿用

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

你想要做的是:

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

我猜...

于 2011-12-31T00:37:43.387 回答