この記事では、まず PHP での配列の定義と配列の破棄について紹介し、次に例を使用して 1 次元データのソート方法を説明します。お困りの皆様の参考になれば幸いです。
PHP配列の定義
コードは次のとおりです | コードをコピー |
…… |
このコード スニペットの最初の行では、1 次元配列 $array が定義されています。 2 行目では、配列をフォーマットして出力します。
コードは次のとおりです | コードをコピー |
配列(3) { |
それでは、お兄さん、出力結果を説明してください。まず、この配列の出力結果の最初の行です。
array(3) は、これが 3 つの要素を持つ配列であることを示します。
まず、要素No.0は長さ3の文字列(string(3))です...
残りの2つについては紙面の都合で割愛します…、これはどういう意味でしょうか?これは、PHP では、配列の添字を指定しない場合、独自に添字を最初から作成することを示しています。つまり、次の例を見てください。
…… | |
| ...今回は配列を定義する際に、2番目の要素に添字を指定しました(以降、この記事ではキー名と呼びます。添字は少し曖昧です!)。キー名 (こんにちは)、出力を見てみましょう:
コードは次のとおりです
文字列(3)「1つ」
["こんにちは"]=> | あなたも私と同じように、最初の要素のキー名が 0 のままであるという非常に賢い現象を見たことがあると思います。これは、私たちが指定していないので理解できます。PHP 配列にはキー名が必要であり、PHP は次のようにします。独自のキー名を最初から作成することが推奨されており、2 番目の要素ではキー名を指定しましたが、PHP は私たちの意見を尊重してこのキー名を使用しました。複雑なのは 3 番目の要素です。
コードは次のとおりです
…… | $array = array(-5=>'one',"hello"=>'two','three');|||||||||||||
3 番目の要素のキー名が -4 であるべきだと考えるのであれば、この考えは PHP4.3.0 より前は正しかったが、それ以降は間違っていたと言わせてください。PHP4 以降のバージョンです。 3.0. 次の結果が表示されます:
はい、3 番目の要素は 0 から始まります。つまり、負の数がどれほど小さくても、次の要素が PHP によってキー名を定義するように求められた場合、0 から始まります。この場所の内容を覚えておいてください。既存のキー名の中で最大のものは依然として負の数であり、負の数がどれほど小さくても、PHP は次のキー名を 0 から開始します。 PHP 配列の破棄は、他の変数を破棄するのと同じように簡単です。 実生活でもプログラミングの世界でも、秩序は常に重要です。秩序のない世界がどのようなものであるか想像できません。 PHP 配列も例外ではありません。 PHP には、PHP 配列をソートするための 4 つの関数セットが用意されています。最初の 3 つは 1 次元配列用で、4 番目の多次元配列については少し複雑です。 。 最初のグループ:sort と rsort、元の配列のインデックス関係を破壊しながら、PHP 配列キー値の順序 asc と逆順 desc に従ってソートします。実際には、から始まる数値インデックスを再構築します。インデックス削除後は0。ルーチンを見てみましょう:
2 番目の関数セット: asort と arsort。これら 2 つの関数は、配列の元のインデックス関係を保持できる限り、より強力です。上記の例の sort と rsort をこれら 2 つの関数に置き換えて、結果を確認してください。 :
这个一看就明白的,不用说了吧! 第三组PHP数组排序函数:krsort 和 ksort 这两个不同于以上两组,这两函数是对键名进行排序的,大家可以把上例的函数替换成这两个,看看具体运行结果,这里也不说了,不然这个文章写的就太长了,怕有些兄弟没有耐心看到本文的重点,虽然重点就在下边! 通过自定义函数对PHP数组进行排序,有三个函数分别是: 这个地方当然需要一个例子:
输出结果: |
,呵呵……是不是比不排序还乱呢?我们这里只是演示了使用的方法而已,具体你用到的时候自己搞吧!你要是不对这些数值进行操作之后再比较,例如我们这里:
$a+=1;
$b+=3;//改变这些值之后进行比较
在PHP手册中,一共定义了74个数组函数,涵盖了PHP数组的定义,赋值,排序,数值操作,比较,以及对数组的键名,键值反转……等等我们几乎能够想到的所有功能。有需要的同学可以去参考一下啊