2016-04-24 138 views
0
$categories = DB::table('categories')->select('categoryid')->get(); 
    foreach ($categories as $category) 
     { 
     $categoryid = $category->categoryid; 
     die($categoryid);//i am getting blank result here 
     } 

var_dump($category->categoryid); 我越來越int(5)無法訪問的foreach PHP變量值

爲什麼我沒有得到在categoryid作爲5值後?

+0

如果你想只顯示編號,那麼你可以嘗試'回聲$類別ID;'。希望這將奏效。閱讀var_dump的手冊http://php.net/manual/en/function.var-dump.php。 –

+0

我想將categoryid的值放到$ categoryid中,因爲我想稍後使用它 –

回答

0

如果您檢查manual of php,你會發現的var_dump將同時顯示

void var_dump (mixed $expression [, mixed $... ]) 

該功能顯示結構有關,其包括其和類型值一個或多個表達式的信息。數組和對象以遞歸的方式遞歸探索,其中值顯示爲結構。

這是正常獲得int(5),這意味着$category->categoryid類型是int$category->categoryid值爲5

+0

我想將類別標識傳遞給另一個函數,這就是爲什麼我需要$ categoryid的值。在執行我的代碼後,我得到blnk結果,在死後 –

+0

也許你可以嘗試$ categoryid =(int)$ category-> categoryid; –

+0

nope仍然沒有得到任何結果..其空白 –

0

die()只是exit()的參考。也就是說,死亡和退出完全相同。

According to the manual for exit():

如果狀態是一個字符串,這個函數打印在退出前的狀態。

如果狀態是一個整數,則該值將用作退出狀態 而不打印。退出狀態應在0到254之間, 退出狀態255由PHP保留,不得使用。狀態0 用於成功終止程序。

因爲你輸出一個整數,它不會顯示數字5。相反,你應該這樣做:

die((string)$categoryid); 

通過將其強制轉換爲字符串,正迫使die結構以字符串形式輸出該值,而不是將其作爲狀態碼返回。

另一種選擇是echo類別ID,然後退出:

echo $categoryid; 
exit 
+0

它不死?我想在其他地方使用$ categoryid值。其產生的空白。當我死了我沒有得到任何結果甚至沒有int(5) –

+0

你沒有得到任何結果,因爲'die()'不輸出任何東西。如果你有'die()',那麼它也不會運行。將'die($ categoryid);'更改爲'die((string)$ categoryid);'並且它應該輸出該值。 –