Php 数组似乎为空,数组_值内爆
我们将非常感谢提供一些援助: “foreach”部分工作正常,echo的结果集工作正常;我一试内爆就失败了?谢谢大家!Php 数组似乎为空,数组_值内爆,php,foreach,implode,Php,Foreach,Implode,我们将非常感谢提供一些援助: “foreach”部分工作正常,echo的结果集工作正常;我一试内爆就失败了?谢谢大家! $ctr = 0; while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { $RespondentsResultSetArray[$ctr] = array( "Firstname" => $row['cnt_firstname'], "Lastname" =&
$ctr = 0;
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$RespondentsResultSetArray[$ctr] = array(
"Firstname" => $row['cnt_firstname'],
"Lastname" => $row['cnt_lastname']
);
$ctr = $ctr + 1;
}
foreach ($RespondentsResultSetArray as $key) {
echo $key["Firstname"] . ' ' . $key["Lastname"] . ', ';
}
sqlsrv_free_stmt($stmt);
echo implode(', ',array_values($RespondentsResultSetArray));
试试这个
implode(',',$RespondentsResultSetArray);
php内爆函数接受字符串数组。 您没有向它传递字符串数组 对于刚才回答的用户1844933,您的建议将传递一个数组内爆。出于同样的原因,这是行不通的
$RespondentsResultSetArray=array();
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
array_push($RespondentsResultSetArray,$row['cnt_firstname'].' '.$row['cnt_lastname']);
}
$saved_to_variable=implode(', '$RespondentsResultSetArray);
将创建一个字符串数组,然后可以将其内爆
由于您最近评论说希望将其保存到变量而不是回显它,所以我只是更改了示例代码的最后一行。我相信这将为您提供所需的正确间隔和分隔字符串。您正在将一个数组数组传递给
内爆
函数。下面是您的代码的一点偏差,应该可以得到相同的结果:
$full_array = array();
foreach ($RespondentsResultSetArray as $key) {
echo $key["Firstname"] . ' ' . $key["Lastname"] . ', ';
array_push($full_array,$key["Firstname"]);
array_push($full_array,$key["Lastname"]);
}
echo implode(', ',$full_array);
另外,为了将来,请尝试为变量选择较小的名称,并使用小写字母作为变量名称和数组索引。因为
$RespondentsResultSetArray
是多维数组,在echo之前使用foreach
循环
$string = "";
foreach($RespondentsResultSetArray as $values)
{
echo implode(array_values($values),",");
$string= $string.",".implode(array_values($values),",");
}
$string=ltrim($string,",");
echo $string;
谢谢,在传递所需内容时提供任何可能的帮助,或者我应该使用类似于foreach的内爆以外的方法,因为我的最终目标是在变量中添加一个以逗号正确间隔的字符串。谢谢您的帮助和信息。谢谢您的建议和回答,这解决了我的问题!我只是对输出做了一些轻微的修改,使其看起来与foreach相同。