學習
總是一個好主意,開始與文檔:
至於教程,在嘗試了互動教程在Codecademy網站:https://www.codecademy.com/learn/php
- 單元4有一個關於數組的教程
- 單元11在高級數組上有一課。
您的代碼
至於你的代碼,看看我會告訴你你的陣列結構以及如何訪問每個元素的下面。也許這會讓你更清楚。
因此可以說你的數組被命名爲$myArray
,請參閱如何通過註釋訪問每個部分。請記住,這不是php代碼,我只是告訴你如何訪問數組的不同元素。
$myArray = Array
(
// $myArray['meta']
[meta] => Array (
// $myArray['meta']['total_record_count']
[total_record_count] => 1
// $myArray['meta']['total_pages']
[total_pages] => 1
// $myArray['meta']['current_page']
[current_page] => 1
// $myArray['meta']['per_page']
[per_page] => 1
)
// $myArray['companies']
[companies] => Array (
// $myArray['companies'][0]
[0] => Array (
// $myArray['companies'][0]['id']
[id] => 291869
// $myArray['companies'][0]['url']
[url] => https://api.mattermark.com/companies/291869
// $myArray['companies'][0]['company_name']
[company_name] => gohenry.co.uk
// $myArray['companies'][0]['domain']
[domain] => gohenry.co.uk
)
)
// $myArray['total_companies']
[total_companies] => 1
// $myArray['page']
[page] => 1
// $myArray['per_page']
[per_page] => 1
)
至於你的每個循環
foreach($jsonObj as $item)
{
echo $item['total_companies'];
}
什麼foreach循環正在做的是通過陣列$jsonObj
的每個第一級循環,從而將包括:
- 元
- 公司
- total_companies
- 頁
- per_page
然後內花括號後面的foreach循環,您可以通過可變$item
是指每個級別的{}
。
所以,根據你想要達到的目標,你可能需要改變你的代碼,你試圖去做什麼,因爲它對我來說並不是很清楚。
至於循環內的代碼:
echo $item['total_companies'];
因爲你想的$jsonObj
陣列,它就不第一級內與total_companies
索引來訪問數組它不會工作存在。爲它工作的數組必須是這樣的:
$jsonObj = array (
'0' => array (// this is what is reference to as $item
'total_companies' => 'some value'
)
)
你想要做的是這樣的:
foreach($jsonObj as $item)
{
echo $jsonObj['total_companies'];
}
至於你的代碼最終代碼段:
echo $item[0]['total_companies'];
回答了上面的問題。訪問它像$jsonObj['total_companies'];
echo $item['companies'][0]['id'];
如果你想通過公司循環試試這個:
foreach($jsonObj['companies'] as $item)
{
// now item will represent each iterable element in $jsonObj['companies]
// so we could do this:
echo $item['id'];
}
我希望所有幫助!如果您不明白,請發表評論,我會更新我的答案。
[[email protected]](https://secure.php.net/manual/en/language.types.array.php) –
你是否有機會尋找嵌套的foreach? – Chay22
是否要按順序輸出每個「最終」值? – RomanPerekhrest