ホームページ バックエンド開発 PHPチュートリアル 第 4 章 データ処理 - PHP 配列処理 - Zheng Aqi_PHP チュートリアル

第 4 章 データ処理 - PHP 配列処理 - Zheng Aqi_PHP チュートリアル

Jul 21, 2016 pm 03:26 PM
関数 初期化 対処する 建河 情報処理 配列

1. 配列の処理:
1.1 配列の作成と初期化:
1. array() 関数は、デフォルトでは、0 要素が配列の最初の要素です。データ要素を取得します。
2. 変数を使用して配列を作成します。
compact() は、現在のシンボル テーブル内の変数名を検索し、それを出力配列に追加します。

コードをコピーします コードは次のとおりです:
$str="string"; ,3);
$newarray=compact(" num","str","array");
/*result
array([num]=10 [str]=>string [ array]=>array([0]= >1 [1]=>2 [2]=>3))
*/
?>


extract() 配列内のセルを次のように変換します。変数


コードをコピーします
コードは次のとおりです: <?php $array=array("key1"=>1,"key2"=2,"​​key3"=3);
extract($array);
echo "$key1 $key2 $ key3";//Output 1 2 3
?>


3. コードをコピーします

は次のとおりです:


array_combine(array $keys, array $values)
<?php $a=array('green','red',' yellow'); $b=array(' volcado') ,'apple','banana'); $c=array_combine($a ,$b);
5. . 配列を自動的に作成する
1.2 キーの名前と値の操作
このセクションでは、一般的に使用される操作についてのみ説明します
。特定のキーと値が配列内に存在し、使用できるかどうかを確認します。 Array_key_exists() および in_arrary 関数では、isset() は配列内のキー名をチェックします。キー名が NULL の場合、isset() は false を返しますが、array_key_exists() は true を返します。 array_search() 関数は、配列のキー値が存在するかどうかを確認するために使用され、存在しない場合は NULL を返します。
。 key() 関数は、配列の現在のユニットのキー名を取得できます。 list() 関数は、配列内の値を指定された変数に割り当てます。配列のトラバーサルに非常に便利です。
<?php
$arr=array("red","blue","white");
echo $red
echo; $blue; // ブルー
エコー $white // ホワイト
。 array_fill() と array_fill_keys() は、配列の値とキーを指定された値で埋めることができます
。 array_filp()は配列内のキー名と値を交換することができます。また、交換配列内に同じ値がある場合、同じ値がキー名に変換された後、最後の
が保持されます。値の中で。 array_keys() 関数と array_values() 関数は、配列内のキー名と値を取得し、新しい配列に保存できます。
。 array_splice(arry $input,int $offset[,int $length[,array $replacement]]) は、配列内の 1 つ以上のセルを削除し、他の値に置き換えます。
。 array_unique() は、元の配列を破壊することなく、配列から重複した値を削除し、新しい配列を返すことができます。
1.3 配列の走査と出力
1. while ループを使用して配列にアクセスします
while、list()、および each() 関数を適用して配列を走査します
2. foreach ループを使用して配列にアクセスします
3.配列



コードをコピーします

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


<?php
$color=array("a"=>"red","blue","white"); ($color as $value)
{
echo $value."<br>";//配列の値を出力
}
foreach($color as $key=>$value)
{
echo $ key."=>".$value." <br>";//配列のキー名と値を出力します
} ?> 例 4.1 ページ上にテキスト ボックスを生成します。生徒の得点を入力し、フォーム送信後、60点未満の得点の値を出力し、平均点を計算して出力します。


コードをコピーします

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

<?php
echo "<form method=post>" //新しいフォームを作成します
for($i=1;$i<6;$i++) //テキストボックスを生成するループ
{
//テキスト ボックスの名前は配列名
echo "Student".$i." のスコア:<input type=text name='stu[]' ><br>"; echo "<input type= submit name=bt value='Submit'>" //送信ボタン
echo "</form>";
if(isset($_POST['bt'])) //送信ボタンが押されたかを確認します
{
$sum=0; //合計スコアを0に初期化します
$stu=$_POST['stu'];すべてのテキスト ボックスを配列 $stu
$num=count ($stu); // 配列内の要素の数を計算します $stu
echo "入力したスコアは次のとおりです: <br>foreach"; ($stu as $score) // foreach ループを使用して配列を走査します $stu
{
echo $score."<br>" // 受け取った値を出力します
$sum=$sum+$score; //合計スコアを計算します
if($score{
$sco[$k]=$score; //スコアが60未満の値を代入しますarray $sco
$k++; // 配列 $sco のキー インデックスに 1 を追加します
}
}
echo "<br>60 点の低スコアは: <br>"; 0;$kecho $sco[$k] ."<br>";
$average=$sum/$ num; //平均スコアを計算します
echo "<br>平均スコア: $average"; //平均スコアを出力します
?>


1.4 配列を昇順に並べ替えます。 sort(array $array[,int $sort_flags])
注: 混合型を含む値を並べ替えるときは、エラーが発生する可能性があるので注意してください。
asort() は昇順で並べ替えることもでき、これにより配列の値が並べ替えられますが、並べ替えられた配列ではキー名と値の関連付けが維持されます。
Ksort() は配列のキーをソートします。ソート後もキーと値の関係は変わりません。
2. 降順に並べ替えます。 rsort()、arsort()、krsort()
3. 多次元配列のソート。
4. 配列を並べ替えます。
。 shuffle() 関数。その機能は、配列をランダムな順序で配置し、元のキー名を削除することです。 array_reverse() 関数。配列を逆順に並べ替えます。
5. natsort()。大文字と小文字を区別します。
1.5 その他の操作
1. 配列の結合
array_merge($array1,$array2)。結合後、1 つの次元以降のすべての配列が 1 つの単位として返されます。 array_merge_recusive() は、既存の配列構造を維持しながら配列をマージできます。
2. 配列のスタック操作
Push: array_push($arr,var);
3. current() 関数は内部を取得できます。配列のポインタを移動しますが、配列の内部ポインタは移動しません。
2. next($arr)、ポインタを次のユニットに移動します。
3. end($arr) ポインタを末尾に移動します。
4. 配列の計算
count() と sizeof() は配列内の要素の数を計算します
array_count_values() 関数は配列内に値が出現する回数をカウントできます
例: 4.2 テーブルデータの処理
生徒は以下のことを学習しますユーザー入力、名前、成績などの情報を受け取り、受け取った情報を配列に格納し、成績の昇順に並べ替えます。そしてそれをテーブルとして出力します。



コードをコピーします

コードは次のとおりです:
<form name=fr1 method=post>
<table align=center border=1 >
<td><div<div>< td>
<td><div align=center>名前</div></td><td><div align=center>実績</div></td> tr>
<?php
for($i=0;$i<5;$i++) //テーブルのテキストボックスを生成するループ
<tr>< ;input type=text name="XH[]"></td>
<td><input type=text name="XM[]"><td> ;input type=text name="CJ[]"></tr>
<?}?>
<tr><td align="center"colspan="3 ">
<input type="submit" name="bt_stu" value="Submit"></td></tr>
</table>
</form>
<center> ;<font size=3 color="red">
注: 学生番号の値は繰り返しできません</font></center><br>
<!--上記は入力フォームです- ->
<?php
if(isset($_POST['bt_stu'])) //ボタンが押されたかどうかを判定します
{
$XH=$_POST['XH']; //値を受け取りますすべての生徒番号の値を取得して保存します。 Array $XH
$XM=$_POST['XM']; //すべての名前の値を取得し、配列 $XM に保存します
$CJ=$_POST['CJ ']; //すべての結果の値を受け取り、配列に格納します$ CJ
array_multisort($CJ,$XH,$XM); //上記の 3 つの配列を並べ替えます。$CJ がプライマリ配列です
; for($i=0;$i$ sum[$i]=array($XH[$i],$XM[$i],$CJ[$i]) ; // 3 つの配列の値を 2 次元配列に結合します $sum
echo "< div align=center>ソートされたスコア テーブルは次のとおりです:</div>";テーブルのヘッダー
echo "<table align=center border=2><tr><td>学籍番号</ td><td>名前</td><td>業績</td> </tr>";
foreach($sum as $value) //foreach ループを使用して配列を走査 $sum
{
list($stu_number,$stu_name,$stu_score)=$value; //リストを使用() 配列の値を変数に代入する関数
//テーブルの内容を出力
echo "<tr><td>$stu_number< /td><td>$stu_name</td> <td>$stu_score</td></tr>";
}
echo "</table><br>"; //テーブルの末尾
reset($sum); //テーブルをリセット$sum 配列のポインター
while(list($key,$value)=each($sum)) //while ループを使用して配列を走査します
{
list($stu_number,$ stu_name,$stu_score)=$ value;
if($stu_number=="081101") //学生番号 081101 の値があるかどうかを確認します
{
echo "<center><font size=4 color=red> " の名前echo $stu_number." は ".$stu_name."、";
echo " のスコアは ".$stu_score; // 見つかったらループを終了します
}
}
?>





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

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/323896.html
技術記事

1. 配列の処理: 1.1 配列の作成と初期化: 1. array() 関数は配列を作成します。デフォルトでは、要素 0 が配列の最初の要素になります。count() 関数と sizeof() 関数はデータ要素を取得します。 ...

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Golang はどのようにデータ処理効率を向上させますか? Golang はどのようにデータ処理効率を向上させますか? May 08, 2024 pm 06:03 PM

Golang はどのようにデータ処理効率を向上させますか?

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

Excel関数の公式の完全なコレクション

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 May 03, 2024 pm 09:03 PM

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析

Laravel と CodeIgniter のデータ処理機能はどのように比較されますか? Laravel と CodeIgniter のデータ処理機能はどのように比較されますか? Jun 01, 2024 pm 01:34 PM

Laravel と CodeIgniter のデータ処理機能はどのように比較されますか?

PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する May 01, 2024 pm 12:30 PM

PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する

データソートにおけるPHP配列グループ化機能の応用 データソートにおけるPHP配列グループ化機能の応用 May 04, 2024 pm 01:03 PM

データソートにおけるPHP配列グループ化機能の応用

PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する Apr 30, 2024 pm 03:42 PM

PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する

C++ 関数例外の詳細: カスタマイズされたエラー処理 C++ 関数例外の詳細: カスタマイズされたエラー処理 May 01, 2024 pm 06:39 PM

C++ 関数例外の詳細: カスタマイズされたエラー処理

See all articles