dポイントプレゼントキャンペーン実施中!

PHP初心者です。
専門用語について教えてください。
$myAr[0] = 'あ';
$myAr[1] = 'い';
var_dump($myAr);
としたとき、
array(2) {
[0]=> string(3) "あ"
[1]=> string(3) "い"
}
と出力されると思いますが、この[0][1]の「名称」は何でしょう?
意味はわかりますが呼び名がわからずすっきりしません。
キーじゃないですしね。
お詳しい方、よろしくお願いいたします。

A 回答 (4件)

> キーはユーザーが任意に命名できるものですが、今回問題になっているの


> は「生成順」に自動的につけられる番号のことです。
指定した文字列をキーとするのも添え字です。
PHPでは連想インデックスとか読んでます。それを利用した配列は連想配列です。

今回の場合、値をセットしている時点でキーを指定して値をセットしているのですから、
出力すれば、そのキーと値が出力されますね。
仮にキーが5,6という指定で値をセットしていたならば、出力されるキーも5,6です。

自動で生成されるキーは以下のようなスクリプトがあります。
$myAr = array();
array_push($myAr, "あ", "い");
var_dump($myAr);
これで出力されるものも、インデックス、キーと呼ばれるものです。
この時のキーは0,1です。

> $myAr['a'] = 'あ';
> としても同様に
> [0]=> string(3) "あ"
キーが異なるので、上記のようになる事はあり得ません。

この回答への補足

勘違いに付き申し訳ありませんでした。。。

補足日時:2007/06/28 00:03
    • good
    • 0

勘違いでしょう



$myAr['a'] = 'あ';
$myAr[1] = 'い';
var_dump($myAr);

array(2) {
["a"]=>
string(2) "あ"
[1]=>
string(2) "い"
}
になります。

この回答への補足

勘違いに付き申し訳ありませんでした。

補足日時:2007/06/28 00:01
    • good
    • 0

>両者は関係ないもの


関係ある。
配列を理解できていない。


>$myAr[0] = 'あ';
>[0]=> string(3) "あ"

>$myAr['a'] = 'あ';
>[0]=> string(3) "あ"

概念的にはどちらも
$myAr = ['あ']
として格納されている。
ただし後者は
$myAr = ['a':'あ']
となる(飽くまでも概念ね)
つまりどっちにしても「index 0番」に入っているというのは変らない。
よって
[0]=> string(3) "あ"
と出る。



・・・の筈
    • good
    • 0
この回答へのお礼

ちょっと勘違いかもしれません。
調べなおします。
ありがとうございました。

お礼日時:2007/06/27 01:58

どんな言語でも通じる言葉は添え字とかインデックス。


PHPだとキーとも呼びます。

この回答への補足

あ、ちょっと例が悪かったかもしれません。
$myAr[0] = 'あ';
のほうの[0]ではなく、
[0]=> string(3) "あ"
のほうの[0]です。
$myAr['a'] = 'あ';
としても同様に
[0]=> string(3) "あ"
と出ますから両者は関係ないものということがわります。
キーはユーザーが任意に命名できるものですが、今回問題になっているのは「生成順」に自動的につけられる番号のことです。
よろしくお願いいたします。

補足日時:2007/06/27 00:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!