ホームページ バックエンド開発 PHPチュートリアル PHP配列定義、変数破壊、1次元配列ソート_PHPチュートリアル

PHP配列定義、変数破壊、1次元配列ソート_PHPチュートリアル

Jul 13, 2016 pm 04:59 PM
php そして 導入 について 変数 そして 意味 選別 配列 記事 破壊する

この記事では、まず PHP での配列の定義と配列の破棄について紹介し、次に例を使用して 1 次元データのソート方法を説明します。お困りの皆様の参考になれば幸いです。

PHP配列の定義

コードは次のとおりです コードをコピー

……
$array = array('1','two','three');
var_dump($array);

このコード スニペットの最初の行では、1 次元配列 $array が定義されています。 2 行目では、配列をフォーマットして出力します。

コードは次のとおりです コードをコピー

配列(3) {
[0]=>
文字列(3)「1つ」
[1]=>
文字列(3)「2」
[2]=>
文字列(5)「3」
}

それでは、お兄さん、出力結果を説明してください。まず、この配列の出力結果の最初の行です。 array(3) は、これが 3 つの要素を持つ配列であることを示します。 まず、要素No.0は長さ3の文字列(string(3))です...
残りの2つについては紙面の都合で割愛します…、これはどういう意味でしょうか?これは、PHP では、配列の添字を指定しない場合、独自に添字を最初から作成することを示しています。つまり、次の例を見てください。

コードは次のとおりですコードをコピー…… $array = array('one',"hello"=>'two','three'); var_dump($array);...今回は配列を定義する際に、2番目の要素に添字を指定しました(以降、この記事ではキー名と呼びます。添字は少し曖昧です!)。キー名 (こんにちは)、出力を見てみましょう:



コードは次のとおりですコードをコピー配列(3) { [0]=>あなたも私と同じように、最初の要素のキー名が 0 のままであるという非常に賢い現象を見たことがあると思います。これは、私たちが指定していないので理解できます。PHP 配列にはキー名が必要であり、PHP は次のようにします。独自のキー名を最初から作成することが推奨されており、2 番目の要素ではキー名を指定しましたが、PHP は私たちの意見を尊重してこのキー名を使用しました。複雑なのは 3 番目の要素です。 3 番目の要素は非常に単純に見えますが、キー名は指定されていません。PHP はキー名として最大の整数のキー名に 1 を自動的に追加します。しかし、最初の要素のキー名を「-5」に変更し、2 番目の要素のキー名を変更しない場合、結果はどうなるか考えたことはありますか?待ってみましょう:
文字列(3)「1つ」

["こんにちは"]=>
文字列(3)「2」
[1]=>
文字列(5)「3」
}


コードは次のとおりです

コードをコピー $array = array(-5=>'one',"hello"=>'two','three'); var_dump($array); …
……


3 番目の要素のキー名が -4 であるべきだと考えるのであれば、この考えは PHP4.3.0 より前は正しかったが、それ以降は間違っていたと言わせてください。PHP4 以降のバージョンです。 3.0. 次の結果が表示されます:

コードは次のとおりです コードをコピー

配列(3) {
[-5]=>
文字列(3)「1つ」
["こんにちは"]=>
文字列(3)「2」
[0]=>
文字列(5)「3」
}

はい、3 番目の要素は 0 から始まります。つまり、負の数がどれほど小さくても、次の要素が PHP によってキー名を定義するように求められた場合、0 から始まります。この場所の内容を覚えておいてください。既存のキー名の中で最大のものは依然として負の数であり、負の数がどれほど小さくても、PHP は次のキー名を 0 から開始します。

PHP 配列の破棄は、他の変数を破棄するのと同じように簡単です。
配列全体を破棄します: unset($array)
配列内の要素を破棄します: unset($array[-5])

実生活でもプログラミングの世界でも、秩序は常に重要です。秩序のない世界がどのようなものであるか想像できません。 PHP 配列も例外ではありません。 PHP には、PHP 配列をソートするための 4 つの関数セットが用意されています。最初の 3 つは 1 次元配列用で、4 番目の多次元配列については少し複雑です。 。

最初のグループ:sort と rsort、元の配列のインデックス関係を破壊しながら、PHP 配列キー値の順序 asc と逆順 desc に従ってソートします。実際には、から始まる数値インデックスを再構築します。インデックス削除後は0。ルーチンを見てみましょう:


コードは次のとおりです コードをコピー

$a = array("a"=>1,2);
並べ替え($a);
var_dump($a);

rsort($a);
var_dump($a);
?>

最初の出力結果、最初の出力を見てください:
配列(2) {
[0]=>
int(1)
[1]=>
int(2)
}
2 番目の出力:
配列(2) {
[0]=>
int(5)
[1]=>
int(4)
}


最初に定義したインデックス a が存在しないことがわかりました。それはどこにありますか?それはどこへ行くのですか?元のインデックス関係を気にしないのであれば、それらは無慈悲にも削除されたと断言できます。

2 番目の関数セット: asort と arsort。これら 2 つの関数は、配列の元のインデックス関係を保持できる限り、より強力です。上記の例の sort と rsort をこれら 2 つの関数に置き換えて、結果を確認してください。 :

コードは次のとおりです コードをコピー
配列(2) {
["a"]=>
int(1)
[0]=>
int(2)
}
配列(2) {
[0]=>
int(2)
["a"]=>
int(1)
}

这个一看就明白的,不用说了吧!

第三组PHP数组排序函数:krsort 和 ksort 这两个不同于以上两组,这两函数是对键名进行排序的,大家可以把上例的函数替换成这两个,看看具体运行结果,这里也不说了,不然这个文章写的就太长了,怕有些兄弟没有耐心看到本文的重点,虽然重点就在下边!

通过自定义函数对PHP数组进行排序,有三个函数分别是:
uasort 通过自定义函数对PHP数组的键值进行排序,并且保留原来的索引关系。
uksort 通过自定义函数对PHP数组的键名进行排序,并且保留原来的索引关系。
usort通过自定义函数对PHP数组的键值进行排序,并且删除原来的索引关系,从零开始建立新的索引。

这个地方当然需要一个例子:


输出结果:
array(4) {
  [0]=>
  int(1)
  [3]=>
  int(5)
  [1]=>
  int(4)
  [2]=>
  int(3)
}

,呵呵……是不是比不排序还乱呢?我们这里只是演示了使用的方法而已,具体你用到的时候自己搞吧!你要是不对这些数值进行操作之后再比较,例如我们这里:
 $a+=1;
 $b+=3;//改变这些值之后进行比较


在PHP手册中,一共定义了74个数组函数,涵盖了PHP数组的定义,赋值,排序,数值操作,比较,以及对数组的键名,键值反转……等等我们几乎能够想到的所有功能。有需要的同学可以去参考一下啊

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631293.htmlTechArticle本文章先是介绍关于php中的数组定义与数组的销毁,之后再用一个实例来说明一维数据的排序方法,有需要的朋友可以参考一下,希望对大家有...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

See all articles