8つのPHP配列面接の質問、PHP配列テストの質問
オンラインで見つけたPHP配列の質問、自分で答えて記録する準備をしてください。
1. 長さ 10 の配列を作成する関数を作成します。配列内の要素は奇数で増加し、最初の項目は 1 です。
コードをコピーします コードは次のとおりです:
関数 arrsort($first,$length){
$arr = array();
for($i=$first;$i$arr[] = $i*2-1; }
戻り $arr;
}
$arr1 = arrsort(1,10);
出力:
コードをコピーします コードは次のとおりです:
配列 ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 [5] => 11 [6] => 13 [7] => 15 [8] => 17 [9] => 19
2. 長さ 10 の配列を作成します。配列内の数値は増加する幾何学的数値であり、比率は 3、最初の項目は 1 です。
コードをコピーします
コードは次のとおりです:
//$num は比率です
関数 arrsort($first,$length,$num){
$arr= array();
for($i=$first;$i
//pow($num,$i-2); $num の ($i-2) 乗を返します
$arr[] = $num*pow($num,$i-2);
}
$arr;
を返す
$arr1 = arrsort(1,10,3);
Print_r($arr1);
出力:
コードは次のとおりです:
配列 ( [0] => 1 [1] => 3 [2] => 9 [3] => 27 [4] => 81 [5] => 243 [6] => 729 [7] => 2187 [8] => 6561 [9] => 19683
3. 配列内の最大の数値の添え字を見つけます。
コードをコピーします コードは次のとおりです:
関数 maxkey($arr){
$maxval = max($arr);
foreach($arr as $key=>$val){
If($maxval == $val){
}
}
$maxkey を返します;
}
$arr = 配列(0,-1,-2,5,"b"=>15,3);
echo maxkey($arr);
出力:
コードをコピーします
ば
4. 長さ 10 の配列を作成します。配列内の要素はフィボナッチ数列の規則を満たします。
(黄金分割数列としても知られるフィボナッチ数列は、1、1、2、3、5、8、13、21、... のような数列を指します。数学では、フィボナッチ数列は次のとおりです再帰的に定義: F0=0、F1=1、Fn=F(n-1)+F(n-2) (n>=2、n∈N*) 特に: 0 番目の項目は 0 、項目 1 は最初の 1)
コードをコピーします
関数 arrFibo($len){
$arr[0] = 0;
$arr[1] = 1;
for($i=2;$i
$arr[$i] = $arr[$i-1]+$arr[$i-2];
}
$arr;
を返します
}
エコー「
」;<br> print_r(arrFibo(10));<br> echo "";
出力:
コードをコピーします
配列
(
[0] => 0
[1] => 1
[2] => 1
[3] => 2
[4] => 3
[5] => 5
[6] => 8
[7] => 13
[8] => 21
[9] => 34
)
5. 配列内の最大の数値と最小の数値の差を計算します。
2つの方法:
①最大/最小
出力:
コードをコピーします
コードは次のとおりです:
102 ②sortは要素を小さいものから大きいものに並べ替えます/rsortは要素を大きいものから小さいものに並べ替えます 関数 arrsub($arr){ ソート($arr); rsort($arr); $sub = $max - $min; $sub を返します; $arr = 配列(-1,-2,100); エコー arrsub($arr); 出力: 102 6. 長さが 10 を超える配列の最後の 5 つの項目を直接インターセプトし、順序を最初の 5 つの項目に変更するメソッドを作成します (例: {1,2,3,4,5,6,7)。 ,8,9,10 } は {6,7,8,9,10,1,2,3,4,5} になります。 アイデア: まず配列を対応する長さに切断し (array_slice)、次に 2 つの配列を結合します (array_merge) 関数 arrsort($arr){ $num = count($arr); if($num > 10){ $arr_new を返す; $arr = array("a"=>1,2,3,8,9,6,"b"=>5,-1,"c"=>8,0,7); エコー「
コードをコピーします コードは次のとおりです:
$min = $arr[0];
$max = $arr[0];
}
コードをコピーします コードは次のとおりです:
//array_slice($arr、開始位置、インターセプト長、保持されたインデックス (デフォルトは false))
$arr_firstpart = array_slice($arr,0,$num-5,true);
$arr_lastpart = array_slice($arr,($num-5),5,true);
}その他{
echo "配列の要素が 10 個を超えていないので、再入力してください";
exit();
}
//スプライシング
$arr_new = array_merge($arr_lastpart,$arr_firstpart);
}」;
print_r($arr);
echo "
= = = = = スプライシング後 = = = =
";
print_r(arrsort($arr));
エコー "";
出力:
コードをコピーします コードは次のとおりです:
配列
(
[a] => 1
[0] => 2
[1] => 3
[2] => 8
[3] =>9
[4] => 6
[b] => 5
[5] => -1
[c] => 8
[6] => 0
[7] => 7
)
= = = = = スプライス後 = = = =
コードをコピーします コードは次のとおりです:
配列
(
[b] => 5
[0] => -1
[c] => 8
[1] => 0
[2] => 7
[a] => 1
[3] => 2
[4] => 3
[5] => 8
[6] =>9
[7] => 6
)
配列の長さが 10 に満たない場合:
コードをコピーします コードは次のとおりです:
$arr = array("a"=>1,2,3);
出力:
コードをコピーします コードは次のとおりです:
配列
(
[a] => 1
[0] => 2
[1] => 3
)
= = = = = スプライス後 = = = =
配列は 10 要素を超えていないため、再入力してください
7. 2 つの配列を新しい配列に連結します。
方法① array_merge()関数を使う
コードをコピーします コードは次のとおりです:
array_merge($arr1,$arr2);
方法② array_merge_recursive()関数を使って配列を再帰的に追加する
( array_merge_recursive() 関数は array_merge() 関数と同じです。 1 つ以上の配列の要素をマージします。 1 つの配列の値は前の配列に追加されます。 そして、結果の配列を返します。
ただし、array_merge()とは異なり、キー名が重複した場合に値が上書きされるのではなく、同じキー名の複数の値が再帰的に配列化されます。 )
コードをコピーします コードは次のとおりです:
$arr = array("a"=>1,"b"=>2,3);
$arr3 = array_merge($arr,$arr2);
$arr4 = array_merge_recursive($arr,$arr2);
エコー "
"; Print_r($arr3);<p> <br> echo "<br> = = = = = <br><br>";</p><p> print_r($arr4);<br> echo "</p>";
出力:
コードをコピーします コードは次のとおりです:
配列
(
[a] =>ディー
[b] => 2
[0] => 3
[1] => 3
[2] => 5
)
= = = = =
コードをコピーします コードは次のとおりです:
配列
(
[a] => 配列
(
[0] => 1
[1] =>
)
[0] => 3
[1] => 3
[2] => 5
)
方法③
コードをコピーします コードは次のとおりです:
$arr_new = $arr1;
foreach($arr2 as $key=>$val){
$arr_new[] = $val;
}
}
$arr2 = array("a"=>Dee,"c"=>3,5);
」;<p> print_r(arrsort($arr1,$arr2));<br> echo "</p>";
出力:
コードをコピーします コードは次のとおりです:
配列
(
[a] => 1
[b] => 2
[0] => 3
[1] =>ディー
[2] => 3
[3] => 5
)
それがインデックス配列であり、重複したインデックスがある場合、2 番目の配列内の重複したインデックスは新しいインデックスに変更されます。
8. 配列の逆順(rsort関数は使用できず、新しい配列は生成できません)
array_reverse()関数を使用すると新しい配列が作成されるため使用できません。
コードをコピーします コードは次のとおりです:
$i = "";//置換される数字の添字
$j = "";//一時変数
$k = "";//置換される数字の添え字
$half_len = Floor($len/2);//切り捨て、四捨五入した値がループ回数になります
//配列の奇数か偶数を決定します
If($len%2!=0){ //奇数
$k = $half_len*2-$i;
}その他{
//偶数
$k = $half_len*2-$i-1;
}
$arr[$i] = $arr[$k];
}
エコー「
」; print_r($arr);<p> echo "</p>";
出力:
コードをコピーします コードは次のとおりです: 配列 (
[0] => 10
[1] => 1
[2] => [3] => [4] => )
http://www.bkjia.com/PHPjc/1021095.htmlwww.bkjia.com

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール
