定義済みクラス
ArrayObject
もそのひとつ
それを使ってみましょう
--->usemethod.php
<?php
require_once("pencil.php");
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>プロパティとメソッドを使う</title>
</head>
<body>
<h1>プロパティとメソッドを使う</h1>
<?php
$ary=new ArrayObject();
$item1=new Pencil("トンボ","HB",120);
$item2=new Pencil("ぺんてる","B",80);
$item3=new Pencil("三菱","5B",200);
$ary->append($item1);
$ary->append($item2);
$ary->append($item3);
foreach($ary as $val){
echo "<p>";
$val->printData();
echo "</p>";
}
?>
</body>
</html>
>はじめに ¶
このクラスは、オブジェクトを配列として動作させます。
オブジェクトを配列にしているのか。
じゃあ中身を見てみましょう
newしたばかり:
<?php
$ary=new ArrayObject();
?>
<pre>
<?php print_r($ary); ?>
</pre>
出力
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
)
)
$ary->append($item1);item2,item3を加えたところ:
出力
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[0] => Pencil Object
(
[maker:Pencil:private] => トンボ
[hardness:Pencil:private] => HB
[price:Pencil:private] => 120
[star:Pencil:private] => ★★★
)
[1] => Pencil Object
(
[maker:Pencil:private] => ぺんてる
[hardness:Pencil:private] => B
[price:Pencil:private] => 80
[star:Pencil:private] => ★★
)
[2] => Pencil Object
(
[maker:Pencil:private] => 三菱
[hardness:Pencil:private] => 5B
[price:Pencil:private] => 200
[star:Pencil:private] => ★
)
)
)
じゃあこれでもいいのでは
$ary2[]=$item1;
$ary2[]=$item2;
これでもいい
単純に使うだけとかオブジェクトを表示するだけならこれでもどっちでもいいが、より複雑な時にはArrayObjectのメソッドを使うことになるよということらしい。
static(静的)
staticがついているとオブジェクトを作成しなくても使えます(newしなくていい)よ