2012-04-24 4 views
7

Tôi muốn in giá trị của [name]. Tôi chỉ trở nên quen thuộc với standard defined classes và cách chúng được gọi.Mảng PHP của stdClass, Cách nhận dữ liệu?

Dựa trên ví dụ này và logic

$arrayobj = new ArrayObject(array('first','second','third')); 
print_r($arrayobj); 
//outputs: ArrayObject Object ([0] => first [1] => second [2] => third) 

Với điều đó. Tôi đang cố gắng trích xuất giá trị của tên (Pebbles) ra khỏi đây.

print_r($terms); 
/* outputs 
Array ([3] => stdClass Object ([term_id] => 3 [name] => Pebbles)) 
*/ 

Vì vậy, tôi đã cố gắng

echo $terms[0]->name; 

đậu phộng Chấn. Làm thế nào để tôi làm điều này?

Trả lời

4

Mấu chốt mảng chỉ được liệt kê là [3] (Array ([3] => stdClass...), vì vậy sử dụng

echo $terms[3]->name; 

Mặc dù nó là một mảng số lượng được lập chỉ mục, điều đó không có nghĩa là nó bắt đầu với một chỉ số từ 0 hoặc thậm chí có các phím liên tục .

Nhận tất cả chúng với một vòng lặp:

foreach ($terms as $t) { 
    echo $t->name; 
} 
+0

bạn đánh bại tôi vào nó với 5sec ... đẹp nhất – Baba

1

Bạn có thể sử dụng như sau:

echo $terms[3]->name ; 
2

Đúng tôi nếu tôi sai, nhưng bạn có thể định kiểu họ.

$terms = (array) $terms; 

sẽ làm cho nó một mảng bình thường truy cập thông qua:

$terms[3]['name'] 
0

Để hiển thị giá trị của các đối tượng tên fiel, bạn có thể sử dụng lệnh này:

echo $this[3]->name;