当前位置:首页>开发>正文

php多维数组排序 php使用函数asort和ksort对数组元素排序

2023-06-26 21:56:11 互联网 未知 开发

 php多维数组排序 php使用函数asort和ksort对数组元素排序

php多维数组排序

数值类型可以是整数或是浮点数。你可以用以下的语句来为一个数值赋值:
$a = 1234 # 十进制数
$a = -123 # 负数
$a = 0123 # 八进制数 (等于十进制数的83)
$a = 0x12 # 十六进制数(等于十进制数的18)
$a = 1.234 # 浮点数"双精度数"
$a = 1.2e3 # 双精度数的指数形式
字符串
字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双引号引出的字符串可以被扩展。而且,在双引号字符串中可以使用反斜杠()在字符串中加入转义序列与转换字符。举例如下:
$first = hello
$second = "world"
$full1 = "$first $second" # 产生 hello world
$full2 = $first $second# 产生 $first $second
$full3="01dc studio,." 2000 copyright." "
请注意最后一行,如果需要在字符串中使用双引号,可以使用反斜杠字符,象该行语句所示。这里的的反斜杠用来使双引号的功能改变。
可以将字符与数字利用运算符号连接起来。字符被转化成数字,利用其最初位置。在php手册中有详细的例子。
数组与哈希表
数组与哈希表以同样的方法被支持。怎样运用取决于你怎样定义它们。你可以用list()或者array()来定义它们,也可以直接为数组赋值。数组的索引从0开始。虽然我在这里没有说明,但是你一样可以轻易的使用多维数组。
// 一个包含两个元素的数组
$a[0] = "first"
$a[1] = "second"
$a[] = "third" // 添加数组元素的简单方法
// 现在$a[2]被赋值为"third"
echo count($a) // 打印出3,因为该数组有3个元素
// 用一个语句定义一个数组并赋值
$myphonebook = array (
"sbabu" =$#@62 "5348",
"keith" =$#@62 "4829",
"carole" =$#@62 "4533"
)
// 噢,忘了教长吧,让我们添加一个元素
$myphonebook["dean"] = "5397"

php使用函数asort和ksort对数组元素排序

不知道你是怎么写的,是少了个planet1,不过不用它也行,就用这个2就可以了,还有就是数组那块分割用逗号,别用分号,语句结束用分号.下面是我改的.自己看吧..
<?php
$planet2=array(
X=>Earth,
Y=>Venus,
Z=>Mars,
A=>Jupiter,
B=>Saturn,
)

asort($planet2)
echo 使用函数asort对数组元素排序:
echo <br/>

foreach($planet2 as $key => $value)
{
echo planet2[.$key.]=.$value
echo <br/>
echo <br/>
}

echo <br/>
echo 使用函数ksort对数组元素排序:
echo <br/>
ksort($planet2)
foreach($planet2 as $key=>$value)
{
echo planet2[.$key.]=.$value
echo <br/>
echo <br/>
}
?>

php数组排序问题

下面的程序代码在我的机器上调试通过:

$str=a 10k 30 m 319 a 10k 28 m 239.13 a 15k 30 m 239 a 10k 28 m 231 a 30k 28 m 446.26 w 100k 10 m 888 a 10k 28 m 234 a 15k 45 m 231 a 15k 28 m 234.65 a 30k 30 m 436 a 30k 30 m 437 2
$data=array()
foreach (explode(" ", $str) as $line){
list($f1,$f2,$f3,$f4,$f5)=explode(" ", $line)
if ($f1=="a") {
$data["$f1-$f2-$f3"][]="$f4 $f5"
}
}
ksort($data)
foreach ($data as $key=>$arr){
sort($arr)
echo "

$key
"
foreach ($arr as $v) echo "$key $v
"
echo "

"
}
?>

参考时候注意你的数据来源,如果直接能获取行数据就不用我的第一个explode(" ", $str)语句了,如果也需要这样使用,那么注意在UNIX上可能不需要 ,否则第一步就无法完成。

如果你遇到了问题,可以在中途echo $line或者print_r($data)来发现错在哪里。

程序使用PHP的ksort和sort函数,并不复杂。

最新文章