我有一个带有两个键的关联数组
$miarray = array(
array('factor' => $textof[1], 'valor' => $i1),
array('factor' => $textof[2], 'valor' => $i2),
array('factor' => $textof[3], 'valor' => $i3),
array('factor' => $textof[4], 'valor' => $i4),
array('factor' => $textof[5], 'valor' => $i5),
array('factor' => $textof[6], 'valor' => $i6),
array('factor' => $textof[7], 'valor' => $i7),
array('factor' => $textof[8], 'valor' => $i8),
array('factor' => $textof[9], 'valor' => $i9),
array('factor' => $textof[10], 'valor' => $i10),
);
第一个键具有文本,第二个键具有数字值。我想按第二个键按升序对数组进行排序,并将每对添加到将在php文件末尾回显的变量。
排序我使用以下
array_multisort(array_column($miarray, 'valor'), SORT_ASC, $miarray);
并访问每对
foreach ($miarray as $optionArray){
$pr .="$optionArray[\"factor\"] - $optionArray[\"valor\"]<br>";
}
尽管如此,我还是报错了
[2018年11月20日17:58:54 UTC] PHP解析错误:语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),期望的标识符(T_STRING)或变量(T_VARIABLE)或xxxxxxxxxxxxxxxxx中的数字(T_NUM_STRING)
我看过很多例子,但是都使用print来显示结果数组。 感谢您的帮助。
答案 0 :(得分:2)
当您访问双引号内的数组键时,可以省去转义的引号,并这样做:
$pr .= "$optionArray[factor] - $optionArray[valor]<br>";
或者,您也可以合并所需的值:
$pr .= $optionArray['factor'] . ' - ' . $optionArray['valor'] . '<br>';
其中任何一种都应该起作用,但是以双引号内的键进行引用是您出错的原因。
在此处详细了解php如何解析变量:http://php.net/manual/en/language.types.string.php#language.types.string.parsing