ホームページ  >  記事  >  バックエンド開発  >  PHP 学習ノート 配列値と配列のトラバーサルとソート_PHP チュートリアル

PHP 学習ノート 配列値と配列のトラバーサルとソート_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:16:32766ブラウズ

本文章来给大家介绍一篇简单的php入门实例,这里主要是讲述了php数组值的操作及函数以及数组遍历与数组排序的实例,各位同学可进入参考。

数组值的操作

1. 值的析取
PHP中,用list来析取数组中的值,如list($a, $b) = $array。如果list中的值多于数组个数,list中多余的值会设为NULL。也可以用逗号来跳过数组中的值,如list($a, ,$b) = $array。

2.划分数组
如果想取得子数组,可以用array_slice(array, offset, length);来取得。它返回一个新的下标从0开始的数组。如果原数组的下标是字符串,好像是没有什么意义的,最好不要用,可以用array_splice来取得子串。

3.将数组分为多个数组
用array_chunk可以把数组分成一个二维数组。详细的可以通过链接看官方的说明。

4.键和值
array_keys($array),取得由数组索引组成的数组
array_value($array),取得由数组值组成的数组,索引从0开始重新分配。
array_key_exists($key, array),元素是否存在检查。
array_splice, 删除插入元素。

5.数组和变量之间的转换
extract(array) 把数组变成变量
compact() 把变量变成数组

6.数组的查找
in_array(array, ) 返回元素是否在数组中存在。
array_search() 返回被找到元素的索引。

7.整个数组函数
array_ sum() 计算数组的和。
array_ merge() 合并两个数组。
array_ diff() 两个数组之间的不同值。
array_ filter() 过滤元素

8.集合、堆栈、队列
array_ unique() 取两个数组的合集,如果值相同,保留前一个数组的索引。
array_ intersect() 取两个数级的交集,保留第一个数组的索引。
array_ push() 加入堆栈。
array_ pop() 弹出堆栈。
array_ shift() 加入队列。
array_ unshift() 弹出队列。


1.简单的遍历
PHP中,数组最简单的遍历方法莫过于for和foreach了。其中foreach有两种写法,一种只遍历值、另一种遍历索引和值。具体可以看如下代码。

 代码如下 复制代码
$test01 = array('a', 'b', 'c');
// for
for ($i = 0; $i < count($test01); $i++) {    
    echo $test01[$i];
}
// foreach value only
foreach ($test01 as $value) {
    echo $value;
}
// foreach key and value
$test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
foreach ($test01 as $key => $value) {
    echo "$key => $value";
}

2.迭代器遍历
PHP中,迭代遍历主要要用到以下函数。
current() 迭代的当前元素。
reset() 重新移动到第一个元素并返回它。
next() 移动到下一个元素并返回它。
prev() 移动到上一个元素并返回它。
end() 移动到最后一个元素并返回它。
each() 以数组的形式返回当前元素的索引和值,并移动到下一个迭代。
key() 返回当前的索引。
array_ walk() 为每一个元素调用函数。
array_ reduce() 为每一个元素依次计算。

 代码如下 复制代码


$test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
while (list($key, $value) = each($test01)) {
    echo "$key => $value" . "n";
}
array_walk($test01, walk_test);
function walk_test($key, $value) {
    echo "walk: $key => $value" . "n";
}

$test02 = array(1, 2, 3, 4, 5);
echo array_reduce($test02, reduce_test);
function reduce_test($run_result, $current_value) {
    return $run_result + $current_value * $current_value;
}


3. 配列の並べ替え


PHP には、インデックスによるソート、値によるソート (元のインデックスを保持しない)、値によるソート (元のインデックスを保持) の 3 つのソート方法があります。各タイプは、昇順、降順、およびユーザー定義の順序の 3 つの関数に分かれています。それらは次のとおりです:
インデックスによるソート: ①昇順 ksort() ②降順 krsort() ③ユーザー定義の順序 uksort()
元のインデックス値を保持しないソート: ①昇順sort() ②降順rsort() ③ユーザー定義順序usort()
元のインデックス値の並べ替えを維持します: ① 昇順 asort() ② 降順 arsort() ③ ユーザー定義の順序 uasort()
PHP では、array_multisort を使用して複数の配列を一度に並べ替えることもできますが、プロジェクトではあまり使用されない場合があります。
配列を反転し、数値インデックスを反転して、インデックスを再び 0 から開始します: array_reverse()
インデックスと値を交換: array_flip()
ランダムな順序: shuffle()

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628634.html技術記事この記事では、簡単な PHP の入門例を紹介します。ここでは、主に PHP の配列値の操作と関数、および配列のトラバーサルと配列のソートの例について説明します。...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。