"Orange","Banana","Grape","Apple","Flower"); echo "
//物件陣列(把陣列當作物件來操作):ArrayObject(陣列)"; echo "////////////////////////////////////////////////////
"; echo "//物件陣列:\$a=new ArrayObject()
"; echo "//印出物件陣列:print_r(\$a)
"; echo "//印出物件陣列:var_dump(\$a)
"; echo "ArrayIterator::current( void ) //返回當前陣列元素
"; echo "ArrayIterator::key(void) //返回當前陣列key
"; echo "ArrayIterator::next (void)//指向下個陣列元素
"; echo "ArrayIterator::rewind(void )//重置陣列指標到頭
"; echo "ArrayIterator::seek()//查找陣列中某一位置
"; echo "ArrayIterator::valid()//檢查陣列是否還包含其他元素
"; echo "ArrayObject::append()//添加新元素
"; echo "ArrayObject::__construct()//構造一個新的陣列物件
"; echo "ArrayObject::count()//返回反覆運算器中元素個數
"; echo "ArrayObject::getIterator()//從一個陣列物件構造一個新反覆運算器
"; echo "ArrayObject::offsetExists(mixed index )//判斷提交的值是否存在
"; echo "ArrayObject::offsetGet()//指定 name 獲取值
"; echo "ArrayObject::offsetSet()//修改指定 name 的值
"; echo "ArrayObject::offsetUnset()//刪除資料
"; echo "
"; $objay = new ArrayObject($fruit); print_r($objay); echo "
"; var_dump($objay); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//取出值:->offsetGet:\$objay->offsetGet(2)
"; echo "
offsetGet印出第2個".$objay->offsetGet(2); echo "
offsetGet印出第2個:\$objay->2 出現錯誤"; echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//非編號指標物件陣列取出值,offsetGet:\$objay->offsetGet('李大同')
"; $score["李大同"] = 90; $score["張花花"] = 85; $score["林美美"] = 60; $score["宋妮妮"] = 99; $score["吳盼盼"] = 75; $objary2 = new ArrayObject($score); echo "
offsetGet印出李大同分數".$objary2->offsetGet('李大同'); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//計算物件陣列ArrayObject的數目:\$a->count()
"; echo "物件陣列的數目有".$objay->count(); echo "
物件陣列的數目有".count($objay); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//foreach迴圈印出物件陣列ArrayObject: foreach(\$arrayObj as \$i=>\$v){)
"; foreach($objay as $i=>$v){ echo $i.':'.$v."
"; } echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//新增一個元素到ArrayObject陣列最後:->append(元素1)
"; $objay->append("mango"); print_r($objay); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//新增二個元素以上到ArrayObject陣列最後:->append(陣列),或是->append(array(元素1,元素2))
"; $objay->append(array("lemon","papaya")); print_r($objay); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//檢查某個指標(文字或編號)是否存在:->offsetExists(編號)
"; $data = array('name'=>'張花花','email'=>'huahua@domain.com','score'=>70); $objay = new ArrayObject($data); echo '檢查:score指標是否存在?:'. $objay->offsetExists('score')."
"; echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//修改某個指標(文字或編號)的內容:->offsetSet(編號,數值)
"; $objay = new ArrayObject($score); $objay->offsetSet('李大同','0'); echo '李大同最新的分數:'. $objay->offsetGet('李大同')."
"; echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//前往某個指標(編號):\$iterator->seek(編號)
"; $objay = new ArrayObject($score); $iterator = $objay->getIterator(); if($iterator->valid()){ $iterator->seek(3); echo '宋妮妮最新的分數:'.$iterator->current(); } echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//到下一筆:\$iterator->next()
"; echo "//到第一筆:\$iterator->rewind()
"; echo "//目前指標:\$iterator->key()
"; echo "//目前內容:\$iterator->current()
"; echo '到下一筆'."
";; $iterator->next(); echo '目前指標:'.$iterator->key()."
";; echo '目前內容:'.$iterator->current()."
";; echo '到第一筆'."
";; $iterator->rewind(); echo '目前指標:'.$iterator->key()."
";; echo '目前內容:'.$iterator->current()."
";; echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "////////////////////////////////////////////////////////////////////
"; echo "////////////////////////////////////////////////////////////////////
"; echo "////////////////////////////////////////////////////////////////////
"; echo "////////////////////////////////////////////////////////////////////
"; echo "//ArrayObject物件陣列若要用->取出值,則宣告時必須:= new ArrayObject(\$data, ArrayObject::ARRAY_AS_PROPS)
"; $data = array('name'=>'張花花','email'=>'huahua@domain.com','score'=>70); $arrayObj = new ArrayObject($data, ArrayObject::ARRAY_AS_PROPS); //$arrayObj = new ArrayObject($data); echo "// 若是宣告成\$arrayObj = new ArrayObject(\$data);, 則不能用->,必須用->offsetGET()
"; echo '姓名:'. $arrayObj->name .',Email:' . $arrayObj->email."
"; echo '姓名:'. $arrayObj->offsetGet('name') .',Email:' . $arrayObj->offsetGet('email')."
"; echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//ArrayObject物件陣列= new ArrayObject(\$data, ArrayObject::ARRAY_AS_PROPS)
"; echo "//計算物件陣列ArrayObject的數目:count(陣列)
"; echo "物件陣列的數目有".count($arrayObj); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//ArrayObject物件陣列= new ArrayObject(\$data, ArrayObject::ARRAY_AS_PROPS)
"; echo "//印出全部:物件陣列ArrayObject的數目:var_dump(陣列)
"; echo "印出全部物件陣列".var_dump($arrayObj); echo "

印出全部物件陣列".print_r($arrayObj); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//foreach迴圈印出物件陣列ArrayObject: foreach(\$arrayObj as \$i=>\$v){)
"; foreach($arrayObj as $i=>$v){ echo $i.':'.$v."
"; } echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//ArrayObject物件陣列,不能使用二維陣列
"; $data2 = array(array('name'=>'李大同','email'=>'daotong@gmail.com','score'=>90), array('name'=>'張花花','email'=>'huahua@domain.com','score'=>70), array('name'=>'林美美','email'=>'huahua@domain.com','score'=>100), array('name'=>'宋妮妮','email'=>'huahua@domain.com','score'=>85), array('name'=>'吳盼盼','email'=>'huahua@domain.com','score'=>65)); $arrayObj2 = new ArrayObject($data2); //echo '姓名:'. $arrayObj2[1]->offsetGet(1); //echo '姓名:'. $arrayObj2[1]->name; /* echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//搜尋字串:ArrayIterator::seek('字串',陣列)。\$key是找到的位置,找不到傳回false
"; $txt= "Grape"; $key = ArrayIterator::seek($txt,$objay); if(!$key) echo "找不到".$txt; else echo "找到".$txt; echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//刪除陣列元素:array_pop(陣列)
"; array_pop($fruit); print_r($fruit); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//新增陣列元素(從陣列前面):array_unshift(陣列,元素1,元素2...)
"; array_unshift($fruit,"PineApple","berry"); print_r($fruit); echo "

"; echo "////////////////////////////////////////////////////////////////////
"; echo "//給定每個陣列元素相同起:array_fill(index,number,value)
"; $color = array(); $color = array_fill(0,5,"blue"); print_r($color); echo $color[2]."
"; echo "

"; echo "////取出一個亂數//////////////////////////////////////////
"; echo "//亂數取出陣列元素的數目:array_rand(陣列,亂數數目)
"; $key = array_rand($fruit,1); echo $key."
"; echo $fruit[$key]."
"; echo "

"; echo "/////取出三個亂數///////////////////////////////////////////
"; $key = array_rand($fruit,3); echo $key[0]."
"; echo $fruit[$key[0]]."
"; echo $key[1]."
"; echo $fruit[$key[1]]."
"; echo $key[2]."
"; echo $fruit[$key[2]]."
"; echo "

"; echo "//////////////////////////////////////////////
"; echo "//取出陣列的前面幾個,變成一個新陣列:array_slice(陣列,數目)
"; echo "//array_slice(array,start,length,preserve)
"; echo "fruit: "; print_r($fruit); echo "
"; $fruit2 = array_slice($fruit,1,5,true); print_r($fruit2); echo "
"; //反向 $fruit2 = array_slice($fruit,1,5,false); print_r($fruit2); echo "

"; echo "//////////////////////////////////////////////
"; echo "//印出游標位置的元素內容,方法一:pos(陣列)
"; echo "//印出游標位置的元素內容,方法二:current(陣列)
"; echo "目前陣列游標位置的內容為:".pos($fruit)."
"; echo "目前陣列游標位置的內容為:".current($fruit)."
"; echo "

"; echo "//////////////////////////////////////////////
"; echo "//移動游標到陣列最後:end(陣列)
"; end($fruit); echo "目前陣列游標位置的內容為:".current($fruit)."
"; echo "

"; echo "//////////////////////////////////////////////
"; echo "//目前陣列的游標到位置(index編號):key(陣列)
"; echo "目前陣列游標位置編號為:".key($fruit)."
"; echo "

"; echo "//////////////////////////////////////////////
"; echo "//往上移動一筆):pre(陣列)
"; prev($fruit); echo "目前陣列游標位置編號為:".key($fruit)."
"; echo "目前陣列游標位置的內容為:".current($fruit)."
"; */ ?>