ホームページ  >  記事  >  バックエンド開発  >  PHP 連想配列の操作に関する 10 のヒント_PHP チュートリアル

PHP 連想配列の操作に関する 10 のヒント_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:14:14693ブラウズ

配列とは何ですか?
PHP を使用した開発のプロセスでは、遅かれ早かれ、同様の変数を多数作成する必要があります。
同様の変数を多数必要とせず、データを配列の要素として保存できます。
配列内の要素には独自の ID があるため、簡単にアクセスできます。
連想配列
連想配列では、各IDキーが値に関連付けられます。
具体的に名前を付けた値に関するデータを保存する場合、数値配列の使用はベストプラクティスではありません。
連想配列を使用すると、値をキーとして使用し、それらに値を割り当てることができます。
この記事では、PHP 連想配列を操作するための 10 のテクニックを紹介します。上手に使用すると、開発効率が向上します。
1. 配列要素を追加する PHP は弱い型指定の言語であるため、配列とそのサイズを明示的に宣言する必要がなく、代わりに配列の宣言と値の入力を同時に行うことができます。
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'ジュノー',
'アリゾナ' => 'フェニックス'
); 追加の配列要素は次のように追加できます。
$capitals['Arkansas'] = 'Little Rock'; 数値インデックス付き配列を扱う場合は、array_push() 関数や array_unshift() 関数など、明示的に名前を付けた関数を使用して要素を前後に追加することもできます。これらの関数は連想配列を操作できません。

2. 配列要素を削除します 配列から要素を削除したい場合は、次のような unset() 関数を使用してください。数値インデックス配列 ますます柔軟になり、array_shift() 関数と array_pop() 関数を使用して、それぞれ配列の先頭と末尾から要素を削除できます。
3. キーと値を交換します
州都をインデックスとして、州名を関連する値として使用して、$states という名前の新しい配列を作成するとします。このタスクは、array_flip() 関数を使用して簡単に実行できます。

コードをコピー

コードは次のとおりです: $capitals = array( 'Alabama' => 'Montgomery',
'Alaska' => 'ジュノー',
'Arizona' => ; 'フェニックス'
);
$states = array_flip($capitals);
// 'モンゴメリー' => 文字列 'アラバマ',
// 'ジュノー' => Alaska',
// 'Phoenix' => string 'Arizona'
// );



4. 配列の結合

前の配列が Web ベースの「FlashCard」サービスで使用されており、次のようにしたいとします。それをテストする方法を提供する 米国の州都に関する学生の知識を学ぶには、array_merge() 関数を使用して州と州都を含む配列をマージできます。

コードをコピー

コードは次のとおりです:
$stateCapitals = array( 'Alabama' => 'Montgomery', 'Alaska' => 'ジュノー',
'Arizona' => ; 'フェニックス '
);
$countryCapitals = array (
'オーストラリア' => 'キャンベラ',
'オーストリア' => 'ウィーン',
'アルジェリア' => 'アルジェリア'
); Capitals = array_merge ($stateCapitals, $countryCapitals);



5. 配列の値を編集する

配列内のデータに大文字小文字の誤りが含まれており、データベースに挿入する前にこれらのエラーを修正したいとします。 array_map() 関数を使用して、配列要素ごとに 1 つのコールバックを適用します。

コードをコピーします
コードは次のとおりです:
function Capitalize($element) { $element = strto lower($element) }
$capitals = array(
' アラバマ' => 'モンゴメリー',
'アラスカ' => 'ジュノー',
'アリゾナ' => 'フェニックス'
);
$capitals = array_map("capitalize", $capitals); ;



6. 配列をキーで並べ替える
FlashCard プログラムは、アルファベット順の並べ替えなどのさまざまな並べ替えをよく使用します。


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

$capitals = array(
'アリゾナ' => 'フェニックス', 'アラスカ' => 'ジュノー', 'アラバマ' => ; 'Montgomery ' ); ksort($capitals);

配列はパラメーターを通じて ksort() 関数に渡されるため、ソートされた結果を別の変数に割り当てる必要がなくなりました。

7. ランダムな配列の並べ替え
FlashCard プログラムには、現時点では、shuffle() 関数を使用して配列項目のランダムな並べ替えを実装する必要があります。


コードをコピーします

コードは次のとおりです:

$capitals = array(
'アリゾナ' => 'フェニックス',
'アラスカ' => 'ジュノー',
'アラバマ' => 'モンゴメリー'
);

配列の順序を乱す必要がなく、値をランダムに選択したいだけの場合は、array_rand() 関数を使用します。

8. キーと値が存在するかどうかを確認します
in_array() 関数を使用して、配列要素が存在するかどうかを確認できます。

コードをコピー コードは次のとおりです:
$capitals = array(
'アリゾナ' => 'フェニックス',
'アラスカ' => 'ジュノー',
'アラバマ' => ; 'モンゴメリ '
);
if (in_array("ジュノー", $capitals))
{
echo "存在します!"; else {
echo "存在しません!"


知っている人はほとんどいませんこの関数は、配列キーが存在するかどうかを判断することもできます。この点では、array_key_exists() 関数と同じ機能があります。


コードをコピー
コードは次のとおりです: $capitals = array( 'アリゾナ' => 'フェニックス',
'アラスカ' => 'ジュノー',
'アラバマ' => ; 'モンゴメリ '
);
if (array_key_exists("Alaska", $capitals))
{
echo "キーが存在します!"
} else {



9. 配列の検索

ユーザーが特定の状態に関連付けられた状態を簡単に取得できるように、配列リソースを検索したい場合があります。array_search() 関数を使用して配列検索を実装できます。

コードをコピー
コードは次のとおりです:
$capitals = array( 'アリゾナ' => 'フェニックス', 'アラスカ' => 'ジュノー', 'アラバマ' => ; 'モンゴメリ '
);
$state = array_search('ジュノー', $capitals);
// $state = 'アラスカ'


標準 PHP ライブラリ (SPL) は、以前の PHP 言語では使用できなかった多くのデータ構造、イテレータ、インターフェイス、例外、およびその他の関数が提供されており、これらの関数を使用すると、オブジェクト指向構文を通じて配列をトラバースできます。



コードをコピー

コードは次のとおりです:
$capitals = array(
'アリゾナ' => 'フェニックス',
'アラスカ' => 'ジュノー', 'アラバマ' => ; 'モンゴメリ ' ); $arrayObject = new ArrayObject($capitals); {
printf("%s の首都は %s
}
// アリゾナの首都はフェニックスです
// アラスカの首都はジュノーです
// アラバマの首都はモンゴメリーです


これは、数多くある素晴らしいものの 1 つにすぎませんSPL の機能について詳しくは、PHP ドキュメントを必ずお読みください。



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

www.bkjia.com

tru​​e

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

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP_PHP チュートリアルを使用して XML を読み書きするいくつかの方法次の記事:PHP_PHP チュートリアルを使用して XML を読み書きするいくつかの方法

関連記事

続きを見る