ホームページ >バックエンド開発 >PHPチュートリアル >php_PHPチュートリアルで配列値を検索・削除する方法を詳しく解説

php_PHPチュートリアルで配列値を検索・削除する方法を詳しく解説

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

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) {
[0]=>
配列(2) {
["url"]=>
string(52) “http://127.0.0.1/testforum.cityofsteam.com/index.php”
["名前"]=>
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) 「お知らせ」
}
}

[1]が 1 つ減りました

真ん中の 1 に自動的に番号が付けられます:

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


配列 ( [0] => リンゴ [1] => バナナ [3] => 犬 )

しかし、この方法の最大の欠点は、配列インデックスが再構築されないこと、つまり、配列の 3 番目の要素が失われることです。
情報を確認したところ、PHP がこの機能を提供していることがわかりましたが、非常に間接的です。この関数はarray_splice()です。
使いやすさを考慮して、誰でも使用できる関数にカプセル化しました:

テスト後、位置 2 の要素が実際に削除され、インデックスが再作成されたことがわかります。

プログラムの実行結果:

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

関数 array_remove(&$arr, $offset)

{

array_splice($arr, $offset, 1);

}

$arr = array('リンゴ','バナナ','猫','犬');
array_remove($arr, 2);
print_r($arr);

?>

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

配列 ([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」が見つかりました";
}
if (in_array(1.13, $a, true)) {
echo "厳密なチェックで 1.13 が見つかりました";
}
?>
上記の例では次のように出力されます:

厳密なチェックで1.13が見つかりました

例 294. in_array() のニードルとして配列を使用する

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


配列に値を追加する

関数を使用して 1 つ以上の要素を配列に挿入することも、要素を直接追加することもできます。
(1) データを配列に直接追加します。新しい要素の添字は、元の配列の最大の添字の後に始まります。
(2) array_unshift() 関数は、配列の先頭に 1 つ以上の要素を追加します。
構文は次のとおりです:
int array_unshift (配列 &array, 混合変数 [,混合 ...]) ;
array_unshift() は、渡された要素を配列 array の先頭に挿入します。要素は全体として挿入され、入力される要素は同じ順序のままになります。すべての数値キー名は 0 から再度カウントされ、テキスト キー名は変更されません。
(3) array_push() 関数は、配列の末尾に 1 つ以上のセルを追加します。
文法:
int array_push (配列 &array, 混合変数 [, 混合 ...]) ;
array_push() は配列をスタックとして扱い、渡された変数を配列の末尾に追加します。この関数は、配列内のセルの新しい合計数を返します。配列にデータを追加する例は次のとおりです。
例:

$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {

echo "'ph' が見つかりました";
}
if (in_array(array('f', 'i'), $a)) {
echo "'fi' が見つかりました";
}
if (in_array('o', $a)) {
echo "'o' が見つかりました";
}
?>
上記の例では次のように出力されます:

「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 )



http://www.bkjia.com/PHPjc/631553.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631553.html技術記事 PHP の配列は、配列値と配列キーに分かれています。次のエディターは、配列への値の追加、配列の判断など、PHP でよく使用される配列値の操作方法をまとめています。配列内の値、削除中...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。