Ⅰ php循環的二維數組如何排序
$num=$arr[$a]-18按$num排序其實就是按$arr[$a]來排,只需在循環前對$arr排序就行了。出來的結果自然是按 $num排序
<?php
$arr=array(30,15,40,38);
rsort($arr);
for($a=0; $a<4; $a++){
$num=$arr[$a]-18;
if($num>0){
$arr_1=array(array("$arr[$a]","$num"));
$num_1 = array();
foreach ($arr_1 as $arr_2) {
$num_1[] = $arr_2[1];
}
array_multisort( $num_1,SORT_DESC , $arr_1);
print_r($arr_1);
}
}
?>
Ⅱ php倒序排列和正序排列
可以在後台對欄目進行排序.欄目管理那裡。
使用函數顛倒數組,$arrchildid實際上是個數組。
loop就是php里的foreach。
Ⅲ php數組foreach出來如何控制裡面的順序
foreach沒有控制順序的,你要麼可以用for來控制,要麼你就在foreach之前用soft、asoft等函數來對數據先進行排序。
Ⅳ php 問題。比如foreach遍歷10條數據,然後給按第一名,第二名,第三名...這樣加個排名怎麼加求高手
冒泡排序
$tem = $array[0];
foreach($array $key $value){
if($tem > $value){
$array[$key] = $value;
$tem = $value
}
}
foreach外面嵌套一個for循環,循環次數為數組元素個數
Ⅳ php foreach數組問題, 排序相關, 技巧相關.
$array=array();
foreach($arras$v){
if(in_array($v,$arr2)){
$array['in'][]=$v;
}else{
$array['notin'][]=$v;
}
}
print_r($array['in']);
print_r($array['notin']);
Ⅵ php數組排序有很多的方法,哪位可以詳細的分解一二嗎,如用函數和不用函數。
在php數組排序中我們通常會用到下列幾個函數。
sort() ------ 以升序對數組排序,是以元素值來排序的
rsort() ----- 以降序對數組排序,以元素值來排序。
asort() ----- 根據值,以升序對關聯數組進行排序
ksort() ----- 根據鍵,以升序對關聯數組進行排序
arsort() ---- 根據值,以降序對關聯數組進行排序
krsort() ---- 根據鍵,以降序對關聯數組進行排序
array_multisort()----對多個數組或多維數組進行排序
用sort函數來做下示例吧
<?php
$string=array("Yes","True","False");
sort($string);
print_r($string);
?>
運行結果為:Array ( [0] => False [1] => True [2] => Yes )
再來看一個array_multisort的例子了,
<?php
$att[] = array('name' => 'cat', 'number' => 2);
$att[] = array('name' => 'dog', 'number' => 1);
$att[] = array('name' => 'dgg', 'number' => 6);
$att[] = array('name' => 'monkey', 'number' => 2);
$att[] = array('name' => 'bear', 'number' => 6);
$att[] = array('name' => 'bee', 'number' => 7);
array_multisort($att,SORT_DESC,SORT_REGULAR);
print_r($att);
?>
輸出結果為:
Array (
[0] => Array ( [name] => monkey [number] => 2 )
[1] => Array ( [name] => dog [number] => 1 )
[2] => Array ( [name] => dgg [number] => 6 )
[3] => Array ( [name] => cat [number] => 2 )
[4] => Array ( [name] => bee [number] => 7 )
[5] => Array ( [name] => bear [number] => 6 )
)
不用數組的來個例子了。
<?php
$att[] = array('name' => 'cat', 'number' => 2);
$att[] = array('name' => 'dog', 'number' => 1);
$att[] = array('name' => 'dgg', 'number' => 6);
$att[] = array('name' => 'monkey', 'number' => 2);
$att[] = array('name' => 'bear', 'number' => 6);
$att[] = array('name' => 'bee', 'number' => 7);
for($i=0;$i<count($att);$i++){
foreach($att as $key=>$val){
if($att[$i]['number']>$val['number']){
$att[$key]=$att[$i];
$att[$i]=$val;
}
}
}
print_r($att);
?>
結果:
Array (
[0] => Array ( [name] => bee [number] => 7 )
[1] => Array ( [name] => bear [number] => 6 )
[2] => Array ( [name] => dgg [number] => 6 )
[3] => Array ( [name] => cat [number] => 2 )
[4] => Array ( [name] => monkey [number] => 2 )
[5] => Array ( [name] => dog [number] => 1 )
)
當然還有更多的方法,如插入排序,選擇排序,冒泡排序,快速排序等。這些網站有很多的,如這個網站上就有:http://www.weberlove.com/PHPjishu/phpjichu/2015/0429/289.html至於數組和字元串的話,主要有str_split()、explode(),preg_split()三個函數。當然還有別的方法,上面那個網我站有說到,你可以自己去找一找了。
Ⅶ php中的 foreach 對數組重新排序 很簡單
<?php
$data = array(
array("id" => 1, "name" => "Boney M", "rating" => 3),
array("id" => 2, "name" => "Take That", "rating" => 1),
array("id" => 3, "name" => "The Killers", "rating" => 4),
array("id" => 4, "name" => "Lusain", "rating" => 3),
);
//排序
function cmp(&$a,&$b){ return $a['rating']-$b['rating']; }
usort($data,'cmp');
var_mp($data);
=======
array
0 =>
array
'id' => int 2
'name' => string 'Take That' (length=9)
'rating' => int 1
1 =>
array
'id' => int 1
'name' => string 'Boney M' (length=7)
'rating' => int 3
2 =>
array
'id' => int 4
'name' => string 'Lusain' (length=6)
'rating' => int 3
3 =>
array
'id' => int 3
'name' => string 'The Killers' (length=11)
'rating' => int 4
Ⅷ php如何把foreach已經獲取的數據重新排列
可以將多個數值放到一個數組里,用sork()函數對其進行排序,然後再用foreach輸出。
不懂的話可以M我
Ⅸ php 用foreach排名學生成績
php 用foreach排名學生成績
總成績用 $total = array_sum($score); 平均成功 $avg = array_sum($score) / count($score); //foreach實現 $total = 0; foreach($score as $v){ $total += $v; } echo $total; echo $total / count($score);//平均
Ⅹ php的foreach循環數組排列
foreach($option['option_value'] as $option_value){ //$arr是你的那個數組
echo $option_value;
$i++;
if($i%4==0){
echo '<br/>'; //或者加上你的標簽
}
}