ホームページ >バックエンド開発 >PHPチュートリアル >php_PHPチュートリアルで配列値を検索・削除する方法を詳しく解説
PHP の配列は配列値と配列キーに分かれています。次のエディターは、配列への値の追加、値の判断など、PHP でよく使用される配列値の操作方法をまとめています。配列の変更、特定の配列値の削除など。必要な学生が参照できます。
phpは特定の配列値を削除します
まずは
コードは次のとおりです | コードをコピー |
var_dump($context['linktree']); |
ゲット
コードは次のとおりです | コードをコピー |
配列(3) { [0]=> 配列(2) { ["url"]=> string(52) “http://127.0.0.1/testforum.cityofsteam.com/index.php” ["名前"]=> string(28) 「City of Steam 公式フォーラム」 } [1]=> 配列(2) { ["url"]=> string(55) “http://127.0.0.1/testforum.cityofsteam.com/index.php#c1” ["名前"]=> string(28) 「City of Steam 公式フォーラム」 } [2]=> 配列(2) { ["url"]=> string(62) “http://127.0.0.1/testforum.cityofsteam.com/index.php?board=4.0” ["名前"]=> string(12) 「お知らせ」 } } |
真ん中のものを削除します。
使用: unset($context['linktree']['1']);
結果:
コードは次のとおりです | コードをコピー |
配列(2) { |
[1]が 1 つ減りました
真ん中の 1 に自動的に番号が付けられます:
コードは次のとおりです | コードをコピー |
|
しかし、この方法の最大の欠点は、配列インデックスが再構築されないこと、つまり、配列の 3 番目の要素が失われることです。
情報を確認したところ、PHP がこの機能を提供していることがわかりましたが、非常に間接的です。この関数はarray_splice()です。
使いやすさを考慮して、誰でも使用できる関数にカプセル化しました:
コードは次のとおりです | コードをコピー | ||||||||||||||||||||
関数 array_remove(&$arr, $offset) { } $arr = array('リンゴ','バナナ','猫','犬');
|
コードは次のとおりです | コードをコピー |
配列 ([0] => リンゴ [1] => バナナ [2] => 犬) |
phpは配列内の値を決定します
特別な関数があり、for ループを使用しないでください。システム関数は高速検索を実現します:
配列内
(PHP 4、PHP 5)
in_array — 配列内に値が存在するかどうかを確認します
手順
bool in_array (mixed $needle, array $haystack [, bool $strict] )
干し草の山で針を検索し、見つかった場合は TRUE を返し、それ以外の場合は FALSE を返します。
3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。
注: 針が文字列の場合、比較では大文字と小文字が区別されます。
注: PHP バージョン 4.2.0 より前では、needle を配列にすることはできませんでした。
例 292. in_array() の例
コードは次のとおりです | コードをコピー |
$os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { エコー「イリックスを捕まえた」; } if (in_array("mac", $os)) { echo "Mac を入手しました"; } ?> |
in_array() では大文字と小文字が区別されるため、2 番目の条件は失敗します。そのため、上記のプログラムは次のようになります。
イリックスを手に入れた例 293. in_array() の厳密な型チェックの例
コードをコピー | |
$a = 配列('1.10', 12.4, 1.13); if (in_array('12.4', $a, true)) {
echo "厳密なチェックで「12.4」が見つかりました";
|
コードをコピー | |
$a = array(array('p', 'h'), array('p', 'r'), 'o'); if (in_array(array('p', 'h'), $a)) {
echo "'ph' が見つかりました";
「お」が見つかりました |
コードは次のとおりです | コードをコピー |
$shili = 配列 ("1","2","3","4") ; $ shili [] = 5; print_r ( $shili ) ; エコー「 」 $shili2 = 配列 ("m","n") ; array_unshift ($shili2,"o","p") //配列の先頭に要素を追加します ; print_r ( $shili2 ) ; エコー「 」 $shili3 = 配列 (「Php」) ; array_push ($shili3, “MySQL”,”Apache”) // 配列の末尾に要素を追加します print_r ($shili3) ; ?> 結果は次のようになります: 配列 ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) 配列 ( [0] => o [1] => p [2] => m [3] => n ) 配列 ( [0] => Php [1] => MySQL [2] => Apache ) |