ホームページ >バックエンド開発 >PHPチュートリアル >単語配列について質問があります

単語配列について質問があります

WBOY
WBOYオリジナル
2016-06-23 13:31:54842ブラウズ

質問してください


$test = array();
function abc($port, $index = 0){
if (!isset($GLOBALS['test'][$index]))
$GLOBALS['test'][$index] = array();
$GLOBALS['test'][$index] [] = $port;

?> Test は元々 1 次元配列として関数の外で定義されていましたが、 $GLOBALS['test'][$index] [] = $port; このようにして、test は 2 次元配列になります。
すると、この配列の 1 行のデータの数は $port によって決まる、つまり、$port が 3 の場合、この
配列の 1 行には 3 つのデータがあることが理解できますか。 そうですか?面倒な友達は返信してくれると助かります、よろしくお願いします





ディスカッション(解決策)に返信

php の配列は伝統的な意味での配列ではありません
2 次元配列の場合にのみ、それを行うことができます行と列をほとんど付加しない 概念


PHP の配列は、従来の意味での配列ではありません
2 次元配列の場合にのみ、行と列の概念をかろうじて遵守できます

xuzuning モデレーターに感謝しますご返信

私もお聞きしたいのですが、 $GLOBALS[ 'test'][$index] [] = $port; この文はどう理解すればよいでしょうか?

$GLOBALS['test'][$index] [] = $port;

array_push($GLOBALS['test'][$index],$port) に等しい



$GLOBALS[' test' ][$index] [] = $port;

array_push($GLOBALS['test'][$index],$port); に等しいです


fdipzone モデレーター、ご返信ありがとうございます

まだいくつかの問題がクリアされています。

たとえば、 $port = 1;
$GLOBALS['test'][$index] [] = $port; を実行すると、この時点では $GLOBALS['test'][$index] [] となります。 $GLOBALS['test'][$index] [0] は 1 ですよね? 。つまり、2次元配列です。それとも 2 の配列であると理解できますか?




$GLOBALS['test'][$index] [] = $port;
は array_push($GLOBALS['test'][$index],$port) に等しいです

you fdipzone バージョン 主の答え

しかし、まだよく理解できていないことがいくつかあります。

たとえば、 $port = 1;
$GLOBALS['test'][$index] [] = $port; を実行すると、この時点では $GLOBALS['test'][$index] [] となります。 $GLOBALS['test'][$index] [0] は 1 ですよね? 。つまり、2次元配列です。それとも 2 の配列であると理解できますか?



はい、print_r 印刷してみれば分かります。
$GLOBALS['test'][$index] [0] 実際、これはすでに多次元配列です。

あなたはとても才能があるので、単純なことを複雑にする必要があります
$test = array();

$GLOBALS['test'][$index] [] = $port; port が配列 $GLOBALS['test'][$index] に追加されます
$port を配列 $test[$index] に追加しようとしています 完了後

$GLOBALS['test'] は 3 次元配列です
$test これは 2 次元配列です

php の配列が伝統的な意味での配列ではない理由は、配列が同種である、つまり各行の列数が同じであるためです
、そして php の配列は同じですこの制約はありません array(array(1,2, 3), array(4))
さらに、配列要素の位置の値は連続した数値としてマークされており、php の配列にはこの制約がありません array(3 = > array(1,2,3), 8 => array(4) )
名前 (関連付けキー) タグ array('c' => array(1,2,3), array も使用できます(4))

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