Ⅰ 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/>'; //或者加上你的标签
}
}