ホームページ  >  記事  >  バックエンド開発  >  PHP 学習ノート: 配列の定義と走査_PHP チュートリアル

PHP 学習ノート: 配列の定義と走査_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:50:45909ブラウズ

PHPの配列はオブジェクトまたはメモリと言える特別なデータ型で、配列には文字、数値、オブジェクトなどを含めることができ、PHPの他のデータ型の内容を保存できます。まず、php 配列の定義と走査検索を学びます。

① 配列を作成する最初の方法

$arr[0]=123;
$arr[1]=90;
….

コンセプト:
[0] -> これを添え字、またはキーワードと呼びます
$arr[0] -> これを配列の要素と呼びます。 $arr[0]=123; 123 は $arr[0] 要素に対応する値を表します
$arr –》これは配列の名前です。
☞PHP 配列では、要素に格納される値は任意のデータ型にすることができます

② 配列を作成する2番目の方法

基本文法

$配列名=配列(値1,値2,......);
例:
$arr=array(1,90,"こんにちは",89.5);


③ 配列を作成する 3 番目の方法 (デフォルトでは、要素の添字には 0 から始まる番号が付けられますが、実際には自分で指定することもできます)

基本構文 $arr[‘logo’]=”北京”;
$arr['hsp']=123;
....
または
$arr=array("logo"=>"北京","hsp"=>123,4=>678);

配列トラバーサルメソッド:

注: for while do..while を使用する場合は、配列の添字が 0 から順に配置されていることを確認する必要があります
配列内に要素がいくつあるかを確認するには、システム関数 count を使用できます

//

コードは次のとおりですコードをコピー
forループトラバーサルメソッド

for($i=0;$i echo '
'.$arr[$i];
}

//while ループトラバーサルメソッド

$i=0;//ループ制御変数
while($i echo "
".$colors[$i];
$i++;
}

//する...しながら

$i=0;//ループ制御変数
する{
echo "
".$colors[$i];
$i++;
}while($i

//foreach トラバーサルメソッド

この foreach の適用範囲はさらに広がります
foreach($arr as $key=>$val){
echo $key."=".$val."
";
}

php配列関連関数

①カウント機能

基本的な使い方は
count($配列名); 配列に含まれる要素の数をカウントできます。 ②is_array
③ print_r と var_dump
④文字列を爆発分割します
ケース:
$str="浙江&台州&杭州";
//実際の開発では、文字列の分割に関しては、次のことを検討できます
$arr=explode("&",$str);
print_r($arr);

配列検索

例:

コードは次のとおりです $arr_a = 配列(0 => "a", 1 => "b", 2 => "c");

$key = array_search("a", $arr_a);
if( $key !== FALSE ){
echo "キー名: $key";
} その他 {
echo '一致する結果がありません';
}
?>

例の出力結果は次のとおりです:

キー名: 0

array_key_exists() 関数


関数 array_key_exists() は、指定されたキーが配列内で見つかった場合は true を返し、そうでない場合は false を返します。その形式は次のとおりです:

boolean array_key_exists(混合キー,配列配列);

次の例では、配列キーでリンゴを検索し、見つかった場合は、この果物の色を出力します。

コードをコピー
コードは次のとおりですコードをコピー
$fruit["apple"] = "赤";

$fruit["バナナ"] = "黄色";
$fruit["洋ナシ"] = "緑";
if(array_key_exists("apple", $fruit)){
printf("リンゴの色は %s",$fruit["リンゴ"]);
}

このコードの実行結果:

リンゴの色は赤です

配列を結合する
array_merge() 関数は配列を結合し、結合された配列を返します。結果の配列は、最初の入力配列パラメーターから始まり、後続の配列パラメーターが出現する順序で強制的に配列されます。その形式は次のとおりです:

PHPコード


配列 array_merge (配列 配列1 配列2…,配列N)

この関数は 1 つ以上の配列のセルを結合し、1 つの配列の値が前の配列に追加されます。結果の配列を返します。

入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。

配列のみが指定され、その配列が数値的にインデックス付けされている場合、キー名は連続して再インデックス付けされます。

コードは次のとおりですコードをコピー
$fruits = array("リンゴ","バナナ","梨");
$numbered = array("1","2","3");
$cards = array_merge($fruits, $numbered);
print_r($cards);

//出力

// Array ( [0] => リンゴ [1] => バナナ [2] => 梨 [3] => 1 [4] => 2 [5] => 3 )
?>

2. 配列を追加します
array_merge_recursive() 関数は array_merge() と同じで、2 つ以上の配列を結合して結合配列を形成できます。 2 つの違いは、入力配列内のキーが結果配列に既に存在する場合、関数は異なる方法で処理することです。 array_merge() は、以前に存在していたキー/値のペアを上書きし、現在の入力配列のキー/値のペアに置き換えます。一方、array_merge_recursive() は、2 つの値をマージして、元のキーを持つ新しい配列を形成します。配列名。配列を再帰的に追加する配列結合の形式もあります。その形式は次のとおりです:

PHPコード

配列 array_merge_recursive(配列 配列1,配列 配列2[…,配列 配列N])

プログラム例は以下の通りです:

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

これで、キーのリンゴは、色の値の 2 つのインデックス付き配列で構成される配列を指します。

3. アレイを接続する
array_combine() 関数は、送信されたキーと対応する値のセットで構成される新しい配列を取得します。その形式は次のとおりです:

配列 array_combine(配列キー,配列値)

2 つの入力配列は同じサイズである必要があり、空にすることはできないことに注意してください。例は次のとおりです

$fruit1 = array("リンゴ" => "赤", "バナナ" => "黄");
$fruit2 = array("梨" => "黄色", "リンゴ" => "緑");
$result = array_merge_recursive($fruit1, $fruit2);
print_r($result);

//出力

// Array ( [apple] => Array ( [0] => red [1] => green ) [banana] => yellow [pear] => yellow )
?>

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


$name = array("リンゴ", "バナナ", "オレンジ");
$color = array("赤", "黄",​​ "オレンジ");
$fruit = array_combine($name, $color);
print_r($フルーツ);

//出力
// 配列 ( [リンゴ] => 赤 [バナナ] => 黄 [オレンジ] => オレンジ )
?>

4. 配列 array_slice() を分割する

array_slice() 関数は、キー オフセットから始まりオフセット + 長さで終わる配列の一部を返します。その形式:

PHPコード

array array_slice (配列 array, int offset[,int length])

offset が正の値の場合は配列の先頭からのオフセット位置から分割が開始され、offset が負の値の場合は配列の末尾からのオフセット位置から分割が開始されます。オプションの長さパラメータを省略した場合、分割はオフセットから開始され、配列の最後の要素まで進みます。長さが指定され、正の場合、配列の先頭からのオフセット + 長さの位置で終了します。逆に、長さが指定されていて負の場合、配列の先頭から count(input_array)-|length| で終了します。例を考えてみましょう:

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

$fruits = array("リンゴ", "バナナ", "オレンジ", "梨", "ブドウ", "レモン", "スイカ");
$subset = array_slice($fruits, 3);
print_r($subset);

//出力
// 配列 ( [0] => 梨 [1] => ブドウ [2] => レモン [3] => スイカ )
?>


配列のソート(1次元配列の場合は以下の方法を使用します)

•sort()関数は、配列セルを下位から上位にソートするために使用されます。
•rsort() 関数は、配列セルを上位から下位にソートするために使用されます。
•asort() 関数は、配列セルを下位から上位にソートし、インデックス関係を維持するために使用されます。
•arsort() 関数は、配列セルを上位から下位に並べ替え、インデックス関係を維持するために使用されます。
•ksort() 関数は、配列セルをキー名で下位から上位にソートするために使用されます。
• krsort() 関数は、キー名によって配列セルを上位から下位にソートするために使用されます。

多次元配列のソート

たとえば、ほとんどの配列があります:

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

$arr = 配列(
‘d’ => array(‘id’ => 5, ‘name’ => 1, ‘age’ => 7),
‘b’ => array(‘id’ => 2, ‘name’ => 3, ‘age’ => 4),
‘a’ => array(‘id’ => 8, ‘name’ => 10, ‘age’ => 5),
‘c’ => array(‘id’ => 1, ‘name’ => 2, ‘age’ => 2)
);

二次元配列内の年齢項目をソートする必要があります。

PHP の組み込み関数 array_multisort() を使用する必要があります。マニュアルを参照してください。

カスタム機能:

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

関数 multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
if(is_array($multi_array)){
foreach ($multi_array を $row_array として){
if(is_array($row_array)){
$key_array[] = $row_array[$sort_key];
}その他{
false を返します;
}
}
}その他{
false を返します;
}
array_multisort($key_array,$sort,$multi_array);
$multi_array を返す;
}

//処理中

エコー「

」;
print_r(multi_array_sort($arr,’age’));終了;

//出力

配列
(
[c] => 配列
(
[id] => 1
[名前] => 2
[年齢] => 2
)

[b] => 配列
(
[id] => 2
[名前] => 3
[年齢] => 4
)

[a] => 配列
(
[id] => 8
[名前] => 10
[年齢] => 5
)

[d] => 配列
(
[id] => 5
[名前] => 1
[年齢] => 7
)

)

大宇作

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632628.html技術記事 php の配列は、オブジェクトまたはメモリであると言えます。たとえば、配列には文字型を含めることができます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。