• ベストアンサー

配列の基本

perlだと@a = ('a'..'z','A'..'Z','0'..'9','_'); なんですが、PHPで $a = range('a', 'z'); array_push($a, range('A', 'Z'), range('0', '9'), '_'); とやって var_dump($a); で確認すると失敗していることがわかりました。 直してください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sisya
  • ベストアンサー率39% (97/244)
回答No.1

Perlと違ってPHPでは配列が展開されずに追加されます つまり$aの26番目に「range('A','Z')」の配列が追加され、27番目に「range('0', '9')」の配列が追加されます。 PHPで配列の連結をしたい場合は「array_merge」を使います。 例(と言うか回答): $a = range('a', 'z'); $a = array_merge($a, range('A', 'Z'), range('0', '9')); また、今回のような特に変数の型を気にしないで 配列の中身を参照したい場合は「print_r」を使って確認した方が見やすくてよいと思います。

rianiuse
質問者

お礼

array_mergeでできました。 ありがとうございます。