我正在尝试将值推送到数组上,如下所示:
$scoreValues[$i][] = $percent ;
$scoreValues[$i][] = '<span id="item'.$i.'" class="suggestElement" data-entityid="'.$row['id'].'" data-match="'.$percent.'">'.rawurldecode($row['name']).'</span>' ;
我基本上想把$百分比与字符串链接在一起,所以我得到一个输出:
array (0 > array('46.5', '<span etc etc')
然后我计划按百分比子数组进行排序,这样我的得分字符串最高。
答案 0 :(得分:1)
在第二行中,您需要指定第二个数组的索引:
$scoreValues[$i][$j] = '<span id="item'.$i.'" class="suggestElement" data-entityid="'.$row['id'].'" data-match="'.$percent.'">'.rawurldecode($row['name']).'</span>' ;
所以你基本上需要2个计数器,一个用于外部数组($ i),另一个用于内部数组($ j)。
修改强>
你让我对这个问题感到困惑,看起来你需要的不是一个多维数组,而是一个简单的数组:
$scoreValues[$percent] = '<span id="item'.$i.'" class="suggestElement" data-entityid="'.$row['id'].'" data-match="'.$percent.'">'.rawurldecode($row['name']).'</span>' ;
请注意,这需要$percent
是唯一的。
答案 1 :(得分:1)
最简单的方法是使用两个数组:
$percents[$i] = $percent;
$scores[$i] = "<span....>");
或者一个数组,但是像这样编入索引
$data = new arrray('percents' => array(), 'scores' => array());
$data['percents'][$i] = $percent;
$data['scores'][$i] = "<span....>");
完成此操作后,您可以使用array_multisort
对数组进行排序:
array_multisort(
$data['percents'], SORT_DESC,
$data['scores']);
答案 2 :(得分:0)
试试这个:
$val = array(
'percent' => $percent,
'html' => '<span id="item' . $i .
'" class="suggestElement" data-entityid="'.$row['id'].
'" data-match="'.$percent.'">'.rawurldecode($row['name']).
'</span>'
);
// This just pushes it onto the end of the array
$scoreValues[] = $val ;
// Or you can insert it at an explicit location
//$scoreValues[$i] = $val;