忍者ブログ

からすまる日誌

20200114pm03 配列がどう追加されるか

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

20200114pm03 配列がどう追加されるか

教科書p142
 
--->p142.php
 
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="UTF-8">
  <title>for</title>
  <link rel="stylesheet" href="test1.css">
 </head>
 <body>
<?php
 for($i=1;$i<4;$i++){
  echo $i."回目の繰り返し<br/>";
 }
?>
 </body>
</html>
  
--->p142_while.php
 
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="UTF-8">
  <title>JavaScript</title>
  <link rel="stylesheet" href="test1.css">
 </head>
 <body>
<?php
 $i=1;
 while($i<4){
  echo $i."回目の繰り返し<br/>";
  $i++;
 }
?>
 </body>
</html>
 

配列
 
<?php
 $seasons=["はる","なつ","あき","ふゆ"];
 echo "<p>".$seasons[0]."</p>";
?>
 
出力結果:はる
 
まあいままでと同じですよ
 

じゃあないのを指定したら?
echo "<p>".$seasons[4]."</p>";
→Notice: Undefined offset: 4 in C:\xampp\htdocs\php\20200114\array.php on line 12
 
Undefined「未定義っすよ」
4とか未定義なんすけど、というエラーでわりとこれもよく見るらしいので見慣れておくといい
 

<?php
 $seasons=["はる","なつ","あき","ふゆ"];
 echo "<p>".$seasons[3]."</p>";
?>
 <pre><?php print_r($seasons); ?></pre>
  
preタグで囲うとソースコード上にあるものをそのまま表示するよ
 
>print_r関数
指定した変数に関する情報を解りやすく出力する
 
→実行結果
 
  Array
(
    [0] => はる
    [1] => なつ
    [2] => あき
    [3] => ふゆ
)
 

配列の追加
 
ぜんぶまた書いたらめんどくさい
 
 $seasons=["はる","なつ","あき","ふゆ"];
 $seasons[]="こざき";
 
「配列大かっこ(中身は空)イコール内容」で、配列の次に追加される
 
Array
(
    [0] => はる
    [1] => なつ
    [2] => あき
    [3] => ふゆ
    [4] => こざき!
)
  
$seasons[4]="こざき!";
これと同じ結果になる
 

・指定しなければお知りに追加
・2番目に追加したら?
Array
(
    [0] => はる
    [1] => なつ
    [2] => こざき!
    [3] => ふゆ
) 
 
「上書き」が起こるよ
 
---
ではこれは? 
 
<?php
 $seasons=["はる","なつ","あき","ふゆ"];
 $seasons[8]="こざき!";
 $seasons[]="たかし";
 echo "<p>".$seasons[4]."</p>";
?> 
 
たかしはどうなるでしょう。
Notice: Undefined offset: 4 in C:\xampp\htdocs\php\20200114\array.php on line 14
Array
(
    [0] => はる
    [1] => なつ
    [2] => あき
    [3] => ふゆ
    [8] => こざき!
    [9] => たかし 
 
一番大きい番号の「次」に入る。
とばした分は箱すらない。だから表示させようとするとエラーになる
 
PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30