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

php數組中對象

發布時間: 2022-09-14 19:26:55

1. php創建一個類,在類中聲明一個數組存放另一個對象,為什麼無法調用數組中對象的方法

//新建一個類User用來存放這,三個數據
//結果放到一個User數組中,你看這可以嗎?
//還是說要放到一個list中?

public class ObjectTest {

public static void main(String[] args) {
String[] id = new String[8];
String[] type = new String[8];
String[] username = new String[8];

User[] users = getUsers(type, id, username);
}

private static User[] getUsers(String[] type, String[] id, String[] username) {
User[] users = new User[type.length];
for (int i = 0; i < type.length; i++) {
users[i] = new User(id[i], type[i], username[i]);
}
return users;
}
}

class User {

public User(String id, String tpye, String username) {
this.tpye = tpye;
this.id = id;
this.username = username;
}

private String tpye;
private String id;
private String username;

public String getTpye() {
return this.tpye;
}

public String getId() {
return this.id;
}

public String getUsername() {
return this.username;
}

public void setTpye(String tpye) {
this.tpye = tpye;
}

public void setId(String id) {
this.id = id;
}

public void setUsername(String username) {
this.username = username;
}

}

2. php 判斷數組裡面有沒有對象

可以用foreach遍歷數組,每次用is_object函數判斷數組元素是不是對象。像這樣:

classA
{
private$a=5;
}
$a=newA();
$array=array("a"=>1,"b"=>2,"c"=>$a);
functionhas_object($arr)
{
foreach($arras$value)
{
if(is_object($value))
{
returntrue;
}
}
returnfalse;
}

print_r(has_object($array));

3. PHP數組裡面存放對象

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

4. php中數組能儲存對象嗎

可以的 舉個簡單的例子給你
<?php

class foo
{

function do_foo()
{
echo "Doing foo.";
}
}

$bar = new foo;

$arry1=array(1,$bar);//這里將實例化的對象存入數組

var_mp($arry1);//這里列印數組結構 你會發現下標1的位置存儲了一個object對象
$arry1[1]->do_foo();;//以數組形式 調用do_foo();
$bar->do_foo();//正常的調用do_foo()
//兩種方式輸出是一樣的 充分說明 數組是可以存儲對象的 希望對你的學習有幫助
?>

//下面是輸出 我自動換行分割了下 其實是一行
array(2) { [0]=> int(1) [1]=> object(foo)#1 (0) { } }
Doing foo.
Doing foo.

5. PHP中數組是不是對象

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

6. 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

7. PHP數組轉為對象怎麼處理

按照你的要求編寫的php程序如下

<?php

$s='{"data":["阿里:65","支付寶:2","微信:1"]}';

$obj=json_decode($s,true);

$arr=$obj['data'];

$c=array();

for($i=0;$i<count($arr);$i++){

$b=array();

$a=explode(':',$arr[$i]);

$b[$a[0]]=$a[1];

$c[$i]=$b;

}

$result['data']=$c;

echo json_encode($result,JSON_UNESCAPED_UNICODE);

?>

8. 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代碼。

9. php中怎麼把對象從數組中取出來

我會說
$tmr = (object)$arr[i];
少了一個$符號么
$tmr = (object)$arr[$i];

php以為你的i是常量啊,而且你也沒定他的值,取都沒取出來

樓主不細心啊

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

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

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

熱點內容
劍俠情緣緩存怎麼清理 發布:2025-01-11 22:33:56 瀏覽:315
win7旗艦版怎麼設置密碼 發布:2025-01-11 22:21:09 瀏覽:143
被害人訪問 發布:2025-01-11 22:06:24 瀏覽:366
朋友圈上傳長視頻方法 發布:2025-01-11 22:01:41 瀏覽:357
我的世界ice伺服器被炸罰款 發布:2025-01-11 21:54:36 瀏覽:725
linuxphpini配置 發布:2025-01-11 21:54:35 瀏覽:481
tp圖片壓縮 發布:2025-01-11 21:53:52 瀏覽:632
手柄怎麼調節安卓模式 發布:2025-01-11 21:44:36 瀏覽:950
國產伺服器搭建ftp 發布:2025-01-11 21:27:33 瀏覽:919
電腦系統哪個好用配置 發布:2025-01-11 21:26:04 瀏覽:141