當前位置:首頁 » 編程語言 » php對象與數組

php對象與數組

發布時間: 2023-06-01 07:32:02

php中數組是不是對象

不是對象。而且不是真正意義上的數組。

② PHP讀取資料庫信息的時候,用數組儲存和對象儲存哪種好

幾乎沒區別,效率上了數組可弊胡旅能好一點點,特別是做廳mysql_fetch_row返回的簡單數組(不帶欄位名的),在處理復雜表達式的值時很方便,例如:
$sql='select
count(*),
sum(monye)
from
tab';
$res=mysql_query($sql);
list($cnt,$money_sum)=mysql_fetch_row($res);
mysql_free_result($res);
語句簡單,效率最高。租凳
再次強調,別在乎那一點點效率,用你喜歡的方法編程

③ PHP中如何定義對象類型數組

應該是存到對象屬性中吧
你把
public function setDepartment($department)
{
$this->department=$department;
}
改成
public function setDepartment($department)
{
$this->department[]=$department;
}
即可
private $department;
要不要改成
private $department=array();
其實無所謂

④ php怎麼把對象轉為數組

這里定義2個php匿名對象和數組相互轉換的函數,代碼如下:
function array2object($array) {
if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key => $val){ $obj->$key = $val; } } else { $obj = $array; } return $obj;}function object2array($object) { if (is_object($object)) { foreach ($object as $key => $value) { $array[$key] = $value; } } else { $array = $object; } return $array;}
用法示例如下:
$array = array('foo' => 'bar','one' => 'two','three' => 'four');$obj = array2object($array);print $obj->one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar

⑤ php 數組和對象的問題

function get_obj_by_id($objs, $id)
{
if(!empty($objs))
{
foreach($objs as $obj)
{
if($obj->id == $id)
return $obj;
}
}
return null
}

恩,為什麼你的obj->id是private的呢
希望能解決您的問題。

⑥ PHP數組裡面存放對象

樓上解釋正確,不過我補充一下。
既然初始化是在類聲明之後,那麼可以通過手動串列化和反串列化來達到目的。
保存的時候使用serialize來保存,提取恢復的時候使用unserialize來恢復。
當然,這個還有一個要注意的地方,需要保存的對象最好是只包含數據,意思是,不要有資料庫連接資源、文件資源之類的,如果包含這些,串列和反串列的結果都是一個int 0,反串列的時候可能不能正常工作。
至於對象串列反串列的一些可定製的功能,可以參考幫助文檔的這個部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通過定義魔術函數__sleep __wakeup來實現。

⑦ 從PHP函數參數為數組和對象的區別說開去

  • 數組操作,查詢指定的值或者key,一般使用array_search和in_array;

  • 如臘含果已經有key了,可以直接$array[$key];

  • php對數組操作函數(這個裡面很多輪衫笑都比較常用,最好塌純掌握):

⑧ php中顯示數組與對象的實現代碼

1、
使用
print_r
(
$array/$var
)
print
是列印的意思,而r則取自Array的單詞,那麼該函數的功能就是列印數組內容,它既可以列印數組內容,也可以列印普通的變數。
print_r
($_REQUEST)
;
print_r
($_GET)
;
/*
列印使用GET方法傳遞的表單內容*/
print_r($_POST)
;
/*
列印使用表單POST方法傳遞過的數組內容*/
2、
使用
var_mp
($object/$array/$var)
var
代表變數(Variable),變數包括對象、數組以及標量變數,mp有倒出之意,加在一塊,就是將變數或對象的內容全部輸出出來。
var_mp($DB)
;
/*列印$DB資料庫連接對象的內容*/
var_mp($fileHandle)
;
/*列印文件句柄對象的內容*/
var_mp($Smarty)
;
/*列印Smarty模板對象*/
3、
使用
var_export($object/$array/$var)
輸出或返回一個變數的字元表示。此函數返回關於傳遞給函數的變數的結構信息,它和print_r()類似,不同的是其返回的表示是合法的PHP代碼。可以通過將函數的第二個參數設置為TRUE,從而返回變數的表示。
例如:
復制代碼
代碼如下:
<?php
$a
=
array
(
1,2,
array("a","b","c"))
;
var_export
($a)
;
echo
"<br>"
;
$v
=
var_export
(
$a
,
TRUE)
;
echo
$v
;
?>
上例中,$v
=
var_export
(
$a
,
TRUE)
表示返回的是PHP的源代碼,可以直接用PHP腳本的數組文件中。
相關說明:
以上三個函數都可以列印對象的值、系統函數值以及數組的內容;

echo
、print、printf可以列印變數內容,但不能顯示數組及系統超級變數數組;

print_r

var_mp不僅可以列印數組、標量變數,還可以列印對象的內容;

var_mp語句不僅能列印變數、數組內容,還可以顯示布爾變數和資源(Resource)的內容;

var_export
函數返回關於傳遞給該函數的變數的結構信息,和
var_mp()函數類似,不同的是其返回的內容是合法的PHP代碼。

⑨ PHP 對象數組的篩選和判斷

手打不易,有用請採納。

$rArray = json_decode(json_encode($r),true);//通過json將對象轉換為數組。
foreach($rArray as $k => $v){
if($v['banji']==1){ //如果banji=1則求語文成績
echo "語文成績={$v['yuwen']}";
}elseif($v['banji']==2){ //如果banji=2則求數學成績
echo "語文成績={$v['shuxue']}";
}
if($v['xingming']=='x'){ //有一個姓名為$x是否在banji1
if($v['banji']==1){
echo "xingmign為x的是班級1";
}else{
echo "xingmign為x的不是班級1";
}
}
}

⑩ PHP數組中可否存放對象如果可以,那麼在smarty的模板中應當如何獲取對象的屬性值

PHP的數組是支持保存對象的實例的,然後你的錯誤提示中也能看出是用了數組的方式來訪問了一個對象。
建議你不要用對象的形式,而全部都用數組。可以用json函數來轉換
$user_array=json_decode(json_encode($user_array),true);

這樣一來$user_array裡面就全部都是數組,其中原先對象的部分被一個包含了其所有成員屬性的數組替代。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:376
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:610
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:31
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:941
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:739
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:802
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:510
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371