ホームページ >php教程 >php手册 >第 5 章 PHP 配列操作

第 5 章 PHP 配列操作

WBOY
WBOYオリジナル
2016-06-13 12:03:061049ブラウズ

1つ。配列とは
配列とは、類似性や型など、特定の特性を共有する要素のセットです。
各要素はキーと呼ばれる特別な識別子によって区別され、各キーには値
1 があります。 配列を作成する 2 つの方法:
1.1 array() 関数を使用する

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


$usernames = array ('Alerk', 'Mary' , ' Lucy'、'Bob'、'Jack'、'John'、'Mark' );
foreach ( $usernames as $name )
{
echo $name ;' ;
}
?>


出力
アラーク
メアリー
ルーシー
ボブ
ジャック
ジョン
マーク
1.2 range() 関数を使用する

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


$numbers = range ( 0, 10 );
foreach ( $numbers as $num )
{
echo $num .
}
$letters = range ( 'a', 'z' );
foreach ( $letters as $letter )
{
echo $letter '
'; ? >


出力

1
2
3
4
5
7
8
9
10
a

c
d
e
f
g
h
i
j
k
l
m

o

q
r

t
u
v
w
x
y
z
2. 配列要素をループする 2 つの方法:
2.1 for ループ



コードをコピー

コードは次のとおりです。 // range の 3 番目のパラメーターはステップ サイズを表します

$numbers = range(1,10,2)

for($ i = 0 ;$i{
echo $numbers[$i].'
}
?>


出力
1
3

5
7
9
2.2 foreach ループ



コードをコピー

コードは次のとおりです。 $letters = range('a','h',2); $letter として文字)

{

echo $letter.'
'
}
?>


出力
🎜>c
e
g

Foreach は配列の添え字と対応する値を出力するためにも使用できます



コードをコピー

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

$letters = range('a','g',2); foreach($letters as $key => $value) {

echo $key.'---'.$value.'
'

}
?>

output
0---a
1---c
2---e
3---g
3.is_array() 関数。変数かどうかを判断するために使用されます。は配列です




コードをコピー

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

$numbers = range( 1,10,2); if(is_array( $numbers)) { foreach($numbers as $num)

{

echo $num.'
}
}
else
{
echo $numbers;

4.print_r 関数、変数に関するわかりやすい情報を出力します



コードをコピー

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

$usernames = array ('Jackie', 'Mary', 'Lucy', 'Bob', 'Mark', 'John' );
print_r (

?> 出力 配列 ( [0] =>ジャッキー [1] =>メアリー [2] =>ルーシー [3] =>ボブ [4] =>マーク [5] = > John )

ソース コードは次のようになります:

Array

(
[0] => Jackie
[1] => Mary
[2] = > ルーシー
[3] => ボブ
[4] => ジョン

)
2.カスタム キー配列
1。デフォルトの添字ゼロの配列を作成したくない場合は、次のメソッドを使用してキーを文字列として含む配列を作成できます



コードをコピー

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


//配列を初期化します
$userages = array('Jack'=> 23 ,'Lucy'=>25,'Mark'=>28);
//配列の各要素にアクセスします
echo $userages['Jack'].'
';

echo $userages['Lucy'].'
'; echo $userages['Mark'].'?> > 2. カスタマイズに移動してキー配列に要素を追加します



コードをコピーします

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


//配列を初期化します
$ages = array('Jack'=>23);
//要素を追加します
$ages['Lucy' ]=25;
$ages['Mark']=28;
foreach($ages as $key => $value)
{
echo $key.'----' .$value.'
';
}
?>


3. 配列を作成せずに要素を直接追加します。

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


//配列を作成せずに直接追加します
$ages['ジャック']=23;
$ages['マーク']=25;
$ages['マーク']=28; > $value )
{
echo $key.'----'.$value.'
}
?> >
4. ループ印刷配列 foreach の使用



コードをコピー

コードは次のとおりです。 $ages['Jack']=23;

$ages['Mark']=25;
$ages['Mark']=28; => $value)
{
echo $key.'=>'.$value.'
'
}

5. each () -- 配列内の現在のキーと値のペアを返し、配列ポインターを 1 ステップ前に移動します



コードをコピー


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

$ages['Jack']=23; $ages['Lucy']=25; 'マーク']=28; $ a = each($a);

echo '
';年齢);

print_r($a) ;
$a = each($a); >


each() 関数を使用してループ印刷を実行します



コードをコピーします

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


$ages['ジャック']=23;

$ages['マーク']=28; >while(!! $element = each($ages))
{
print_r($element)

echo '} ?>;

別の印刷方法




コードをコピー

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


$ages['Jack']=23;
$ages['Lucy']=25;
$ages['Mark']=28; element = each($ages))

{
echo $element[' key'].'=>'.$element['value'];
echo '
'; 🎜>}

?> 6. list() 関数の使用 - 配列内の値をいくつかの変数に割り当てます


コードをコピーします

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


< ;?php
$ages['Jack']=23; ']=25;
$ages['Mark']=28;
list($name, $age)= each($ages);
echo $name.'=>'.$ age;
?>



リスト ループを使用して結果を出力します

コードをコピーします

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



$ages['ジャック']=23;
$ages ['ルーシー']=25; 28;
while(!!list($name,$age)= each($ages))
{
echo $name.'=>'.$age.'
' ;
}

?>

出力 Jack=>23 Lucy=>25 Mark=>28 7.reset() 関数 -- 配列の内部ポインタを最初のユニットにポイントします


コードをコピー

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


$ages['ジャック']=23;
$ages['マーク']=28; each($ages);
each($ages);
list($name,$age)= each($ages);

echo $name.'=>'.$age.'
';
//配列を配列の先頭にリセットします
reset($ages)
list($ name,$age)= each($ages); echo $name.'=>'.$age.'
'


出力

Mark=>28 Jack=>; ;23 8. array_unique() -- 配列内の重複する値を削除します

コードをコピーします

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


$nums = array(1,2,3,4,5,6,5,4,3,2,1, 1,2,3,4,5,6 );
//重複する値を含まない配列を返します
$result = array_unique($result);
出力
配列 ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
9. array_flip () -- 配列内のキーと値を交換します
$userages = array('Jack'=> 23,'Lucy'=> ;25,'Mark'= >28);
$ages = array_flip($userages);



出力
Array ( [23] => Jack [25] => Lucy [28] => Mark )
3.配列内の配列
は必ずしもキーワードと値のリストである必要はありません。配列

に配列 を入れることもできます。コードは次のとおりです:


$Produces = array(
array('apple',6,28.8),
array('pear', 3,15.6),
array('banana',10,4.6)
);
echo $Produces[0][0].'|'.$Produces[0][1].' |'.$Produces[0][2].'
';
echo $Produces[1][0].'|'.$Produces[1][1].'|'.$プロデュース[1][2 ].'
';
echo $プロデュース[2][0].'|'.$プロデュース[2][1].'|'.$プロデュース[2] [2].'< ;br>';
?>


出力
リンゴ|6|28.8
ナシ|3|15.6
バナナ|10| 4.6
for ループを使用して配列内の配列を出力します

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


< ;?php
$Produces = array (
array ('apple', 6, 28.8 ),
array ('pear', 3, 15.6 ),
array ('banana', 10, 4.6 )
);
for ($i = 0; $i < count ( $Produces ); $i )
{
for($j = 0; $j < count ( $Produces [$i] ); $j )
{
エコー '|'
}
エコー '
🎜>}
?>

出力
|apple|6|28.8
|pear|3|15.6
|バナナ|10|4.6
2 -次元配列

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

$Produces = array (
array ('name' => 'apple', 'amount' => 6, 'price' => 28.8 ),
array ('name' => 'pear', 'amount' => 3, '価格' => 15.6 ),
array ('名前' => 'バナナ', '金額' => 10, '価格' => 4.6 )
);
while(!!List($key,$value) =each($Produces))
{
while(!!list($key2,$value2)=each($value))
{
echo '|'.$key2.'= >'.$value2;
echo '
'
}
;

出力
|name=>apple|amount=>6|price=>28.8

|name=>pear|amount=>3|price=>15.6
|name=>banana|amount=>10|price=>4.6
foreach を使用すると簡単に印刷できます (推奨)



コードをコピーします

コードは次のとおりです。 $Produces = array (

array ('name' => 'apple', 'amount' = > 6, '価格' => 28.8 )、
配列 (' 名前' => '梨', '金額' => 3, '価格' => 15.6 )、
配列 ( '名前' => 'バナナ', '金額' => 4.6 )
foreach($key1 => $value1); {
foreach($value1 as $key2 => $value2)
{
echo '|'.$key2.'=>'.$value2;
}
echo '
';
}
?>


出力
|name=>apple|amount=>6|price=>28.8
|名前=>梨|金額=>3|価格=>15.6
|名前=>バナナ|金額=>10|価格=>4.6

IV.配列の並べ替え
1. Sort() 関数による英語の並べ替え



コードをコピー

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

< メタ http-equiv="content-type" content="text/html;charset=utf-8" /> $fruits = array('lemo','バナナ','リンゴ','梨');

echo '元の配列:'

print_r($fruits);
sort($)フルーツ);
エコー 'ソートされた配列:';


出力
配列 ( [0] = > レモ [1] => バナナ [2] => リンゴ [3] => 梨 )
並べ替えられた配列 ( [0] => リンゴ [1] => バナナ [2] => lemo [3] => pear )
2.Sort() 関数で中国語を並べ替えます


コードをコピーします

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


$fruits = array('レモン','バナナ','リンゴ','梨'); echo '元の配列:' print_r($fruits); ; sort($fruits);

エコー '並べ替えられた配列:'


;
出力:
元の配列: Array ([0] =>lemon[1] =>banana[2] =>apple[3] =>pear)
並べ替えられた配列 :Array ( [0] => Pear[2] => Apple[3] =>3. 並べ替え -- インデックスの関係を維持します。 >

コードをコピー

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

$fruits = array('a'=>'レモン','b'=>'バナナ','c'=>' Apple','d'=>'Pear');
echo '元の配列:'
print_r($fruits);
echo '
'; ($fruits);
echo 'ソートされた配列:';


出力
配列 ([a ] => レモン[b] => バナナ[c] => リンゴ[d] => 梨)
配列 ([a] => レモン[d] ] => 梨[c] => Apple[b] => Banana)
4. ksort -- キー名で配列を並べ替えます



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


$fruits = array('b'=>'レモン','a'=>'バナナ','d'=>'リンゴ','c'=>'梨'); >echo '元の配列:'; print_r($fruits); ksort($fruits); print_r($fruits); ?>


元の配列: Array ([b] =>; レモン[a] => ; バナナ[d] = > Apple[c] => Pear)
ソートされた配列: Array ( [a] => Banana[b] => Lemon[c] => Pear[d ] => Apple) >5. rsort -- 配列を逆ソート



コードをコピー

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


$fruits = array('レモン','バナナ','リンゴ', 'pear');
echo '元の配列:';
print_r($fruits);
rsort($fruits ); 'ソートされた配列:';
print_r($fruits);

出力 配列 ( [0 ] => レモン[1] = > バナナ[2] => Apple[3] => 梨) 並べ替えられた配列: 配列 ( [0] => バナナ[1] => 梨[3] => Lemon) 6. arsort -- 配列を逆にソートし、インデックス関係を維持します



コードをコピーします

コードは次のとおりです。 🎜>


$fruits = 配列('a'=>'レモン','b'=>'バナナ','c'=>'リンゴ','d'=>'梨');
echo '元の配列: ';
print_r($fruits);
echo '
';

arsort($fruits);
print_r($fruits) );
?>


元の配列: Array ([a] => レモン[b] => バナナ[c] => Apple[d] => Pear)

ソートされた配列: Array ( [b] => Banana[c] => Apple[d] => Pear[a] => Lemon) 7.配列をキー名で逆順に並べ替えます

コードをコピーします


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



$fruits = array('a'=> ;'レモン','b '=>'バナナ','c'=>'リンゴ','d'=>'梨');
echo '元の配列:';
print_r($fruits); >echo '
;
krsort($fruits);
print_r($fruits)>; >
出力

元の配列: Array ([a] => レモン[b] => バナナ[c] => apple[d] => ; Pear)
ソートされた配列: Array ( [d] => 梨[c] => アップル[b] => レモン)
8. 配列をシャッフルします

🎜>コードをコピーします

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



$fruits = array(' a'=>'レモン','b'=>'バナナ','c'=>'リンゴ','d'=>'梨');
echo '元の配列:' ;
print_r($fruits);
echo '
';
shuffle($fruits);
print_r($fruits);
?>

出力
元の配列: Array ( [a] => Lemon[b] => Banana[c] => Apple [d] => ; Pear)
シャッフル配列: Array ( [0] => Banana[1] => Apple[2] => Lemon[3] => Pear)
9 を返します。セルを逆順にした配列

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


$fruits = array('a'=>'レモン','b '=> ;'バナナ','c'=>'リンゴ','d'=>'梨');
echo '元の配列:';
print_r($fruits);
;
$fruits = array_reverse($fruits);
print_r($fruits);
>
出力
元の配列: Array ([a] =>lemon[b] =>banana[c] =>apple[d] =>pear)
反転された配列: Array ( [d] => Pear[c] => Apple[b] => レモン)
10. 配列の先頭に 1 つ以上のユニットを挿入します。 >



コードをコピー

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

$fruits = array('a'=>'レモン','b'=>'バナナ ','c'= >'Apple','d'=>'Pear'); echo '元の配列:'

echo '< 🎜>array_unshift($fruits,'杮子');

echo '挿入後の配列:';


出力
元の配列: Array ([a] => Lemon[b] => Banana[c] => Apple[d] => Pear)
挿入後 Array: Array ([0] => ; 杮子[a] => レモン[b] => リンゴ[d] => 11. 配列の先頭のユニットを移動します。配列の



コードをコピー

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




$fruits = array('a'=>'レモン','b'=>' ,'c'=>'Apple','d'=>'Pear');
echo '元の配列:'

print_r($fruits); echo '< >'; array_shift($fruits); エコー 'シフト後の配列:'

出力
元の配列: Array ([a] =>lemon[b] =>banana[c] =>apple[d] =>pear)
移動された配列: Array ( [b] => ; バナナ [c] => Apple [d] => Pear)
12. array_rand -- 配列から 1 つ以上のユニットをランダムに削除します


>
コードは次のとおりです。


$fruits = array ('Lemon', 'Banana', 'Apple', 'Pear' );

echo '元の配列:'
print_r ( $fruits ); >echo '
';
$newArr_key = array_rand ( $fruits, 2 );
echo 'ランダム化後の配列:';
echo $fruits [$newArr_key [0]] ' ';
echo $fruits [$newArr_key

?> 元の配列: Array ( [0] => ] =>Banana[2] =>Apple[3] =>Pear) ランダム配列: pear apple

13. array_pop -- 配列の最後のユニットをポップします (Pop)

🎜>

コードをコピー

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



$fruits = array ('lemon', 'banana', 'apple', 'pear' );
echo '元の配列:' ;
print_r ( $fruits );
echo '
';

echo 'ポップ後の配列:'; );
?>


出力:
元の配列: Array ([0] =>Lemon[1] =>Banana[2] =>Apple[3] =>Pear)
ポップ後の配列 :Array ([0] => Lemon[1] => Banana[2] => Apple)
14. array_push -- 1 つ以上のセルを配列の末尾にプッシュします (push)

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



$fruits = array ('Lemon', 'Banana', 'Apple', 'Pear' );
echo '元の配列:' ;
print_r ( $fruits );
echo '
';
array_push ( $fruits,'杮子');
print_r ( $fruits );
?>

出力:
元の配列: Array ( [0] => レモン[1] => バナナ[2 ] => ; Apple[3] => Pear)
ポップアップ後の配列: Array ([0] => Lemon[1] => Banana[2] => Apple[3] => Pear[4] ] =>杮子)
5.配列ポインタ操作
each -- 配列内の現在のキーと値のペアを返し、配列ポインタを 1 ステップ前に移動します。
current -- 配列内の現在のユニットを返します。
reset -- の内部を移動します。配列 ポインタは最初のユニットを指します。
end -- 配列の内部ポインタが最後のユニットを指します。
next -- 配列内の内部ポインタを 1 ビット前に移動します。
pos -- のエイリアスcurrent()
prev -- 配列の内部ポインタを 1 ビット巻き戻します


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

$fruits = array ('lemons' , 'バナナ', 'リンゴ' , '梨' );
print_r ( $fruits );
echo 'each() : '; print_r ( each ( $fruits ) ) ;
echo '
';
echo 'current() : ';
';
echo 'next() : ';
echo (next ( $fruits ));
echo '
'; () : ';
echo (end ( $fruits ));
echo '
'; ));
エコー '
';
エコー 'pos() : ';
エコー ($fruits )); ';
?>


配列 ( [0] => レモン[1] => バナナ[2] => ; Pear)
each( ) : Array ( [1] => レモン[値] => レモン[0] => 0 [キー] => 0 )
current() : バナナ
next() : apple
end() : Pear
prev() : Apple
pos() : Apple
6.配列の数をカウントします

count -- 配列内のセルの数またはオブジェクト内の属性の数をカウントします
sizeof -- count() のエイリアス
array_count_values -- をカウントします配列内のすべての値の出現数



コードをコピー

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


$nums = 配列 (1, 3, 5, 1 , 3, 4, 5, 65, 4, 2, 2, 1, 4, 4, 1, 1, 4, 1, 5, 4, 5, 4 );
エコー数 ( $nums );

エコーサイズ ( $nums ); = array_count_values ( $nums ); print_r ( $arrayCount ) ?> 出力

22
22
配列 ( [1] => 6 [3] => 4 [4] => 1 [2] => 2 )配列をスカラー変数に変換します: extract()
配列内の各要素を変数に変換します。変数名は配列要素のキーであり、変数値は配列要素の値です。


コードをコピー

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

$fruits = array('a'=> 'リンゴ','b'=> 'バナナ','o'=>オレンジ');
echo $a.'
>echo $b.'
';
echo $o.'
?>

出力オレンジ

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