导航:首页 > 编程语言 > php数字数组

php数字数组

发布时间:2025-03-29 03:08:24

① 用php设计一个函数,要求将数字数组中所有奇数放在左边,0放在中间,偶数放在右边。

<?php
function sort_nums($arr) {
$new_array = array(0);

sort($arr);

for($n = 0; $n < count($arr); $n++) {
if($arr[$n] != 0) {
if($arr[$n] % 2 == 0) {
array_push($new_array, $arr[$n]);
}
else {
array_unshift($new_array, $arr[$n]);
}
}
}

return $new_array;
}

$numbers = array(23, 94, 0, 2, 56, 10, 77, 231, 75, 48);

print_r(sort_nums($numbers));
// 输出 231, 77, 75, 23, 0, 2, 10, 48, 56, 94
?>

② PHP中使用foreach循环读取数组数据的方法

foreach语法结构提供了遍历数组的简单方式。foreach仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

第一种格式遍历给定的array_expression数组。每次循环中,当前单元的值被赋给$value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量$key。

范例:

$a=array("one"=>1,"two"=>2,"three"=>3,"seventeen"=>17);foreach($aas$k=>$v){echo"$a[$k]=>$v.
";}

③ 用php写出代码:3,6,7,1,8,2,9,4,5,0按照从小到大的顺序输出数组的值。

这个问题,可以采用经典的冒泡排序。冒泡排序的过程如下:

1.比较相邻的元素。如果第一个比第二个大,就交换顺序。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。最后的元素会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

这个过程在转化成代码方式的思路为:

  1. 每次从最开始的一对相邻元素比较,到结尾的一对元素比较完毕,可以看做一个完整的步骤,代码表示如下:

for ($j = 0;$j < count($arr)-1;$j++)// 每一次循环表示一次比较和交换的过程。

{

if ($arr[$j]>$arr[$j+1])

{

$tmp = $arr[$j];

$arr[$j] = $arr[$j+1];

$arr[$j+1] = $tmp;

}

}

2.每次重新开始上一步骤都要比上一步少比较最后一个元素(因为上一步最后一个元素已经最大),这时需要增加一个外层循环来控制每次比较元素的个数。代码如下:

for($i = 0;$i < count($arr);$i++)// 每一次外层循环表示从头到尾执行了一次两两互相比较和交换。

{

for ($j = 0;$j < count($arr)-$i-1;$j ++)// 每一次内层循环表示一次比较和交换的过程。

{

if ($arr[$j]>$arr[$j+1])

{

$tmp = $arr[$j];

$arr[$j] = $arr[$j+1];

$arr[$j+1] = $tmp;

}

}

}

完成过程代码如下:

④ php 如何定义一个数组

php中定义数组的方法:x0dx0ax0dx0a1、PHP定义数组的格式:x0dx0a数组名=array();x0dx0a如:$aa=array();//这样就定义了一个数组,x0dx0a之后给元素赋值:x0dx0a$aa[0]="9016";x0dx0a$aa[1]="9017";x0dx0a$aa[2]="9018";x0dx0ax0dx0a2、PHP输出数组的方法:x0dx0aforeach($aa as $val)x0dx0a{x0dx0aecho$val;x0dx0a}x0dx0a也可以在定义数组时直接赋值x0dx0a$aa=array(0=>"9016",1=>"9017";2=>"9018");x0dx0ax0dx0a3、PHP的数组还可以用字符做下标,不一定要数字:x0dx0a$aa["name"]="Joan";x0dx0a$aa["num"]="9018";x0dx0a$aa["email"]="[email protected]";x0dx0a也可以这样x0dx0a$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");x0dx0a将一个一维数组的元素也定义为数组,就是一个二维数组,x0dx0a$aa=array(0=>"a1",1=>"a2");x0dx0a$bb=array(0=>"b1",1=>"b2");x0dx0a$cc=array(0=>$aa;1=>$bb);此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。x0dx0a同理,三维,四维数组也可以继续定义下去。x0dx0ax0dx0a4、数组的元素不仅于数字和字符串,可以是类的对象。

⑤ 怎么在php中输出数组中的值

1、在test.php文件内,使用header设置test.php执行的编码为utf8,避免输出中文的时候出现乱码。

阅读全文

与php数字数组相关的资料

热点内容
命令与征服地图下载 浏览:350
加密信息摘要的密钥是 浏览:663
安卓微信图片打码怎么去除 浏览:655
python判断完数 浏览:162
安卓手机怎么玩开罗游戏 浏览:669
telnetftp命令 浏览:374
毕节程序员 浏览:753
英尼士压缩机价格 浏览:592
赌局pdf 浏览:690
mac文件夹如何压缩文件 浏览:27
于安卓这名字怎么样 浏览:432
强制手机命令 浏览:318
pubg如何解决服务器不在 浏览:151
加密市场研报第17期 浏览:203
交流电压表单片机 浏览:104
加班半小时的算法 浏览:405
1024程序员节布置 浏览:946
python中在当前窗口跳转页 浏览:200
光立单片机 浏览:465
买鞋子应该用什么app更便宜 浏览:670