忍者ブログ

からすまる日誌

20200218pm02 定義済みクラス ArrayObject

×

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

20200218pm02 定義済みクラス ArrayObject

定義済みクラス
 
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しなくていい)よ
 
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