0
一直在尋找整天的解決方案......對象不能獲得對象屬性的PHP數組(類stdClass的客體不能轉換成字符串)
我的變量名是$ categoryFetchedAsObj 的var_dump結果:
array(104) {
[0]=>
object(stdClass)#411 (1) {
["categoryHive"]=>
string(4) "asfa"
}
[1]=>
object(stdClass)#412 (1) {
["categoryHive"]=>
string(13) "ENERGY DRINKS"
}
[2]=>
object(stdClass)#413 (1) {
["categoryHive"]=>
string(7) "KETCHUP"
}
[3]=>
object(stdClass)#414 (1) {
["categoryHive"]=>
string(6) "STICKS"
}
等
我調用一個函數...
createSelectBlock("category",$categoryFetchedAsObj,"onchange=\"this.form.submit()\"",null,'categoryHive');
這裏是功能
createSelectBlock($名稱,$ fetchedNamesAsArrayOfObj,$ selectEvent,$ objPropertyNameForOptionsValue,$ objPropertyNameForOptionsName)
的實例,這裏是哪裏的錯誤引起
foreach ($fetchedNamesAsArrayOfObj as $rowArrayObj) {
if(isset($objPropertyNameForOptionsValue) && isset($objPropertyNameForOptionsName)){
$selectBlock.="<option value=\"$rowArrayObj->$objPropertyNameForOptionsValue\">$rowArrayObj->$objPropertyNameForOptionsName</option>";
}
if(!isset($objPropertyNameForOptionsValue) && isset($objPropertyNameForOptionsName)){
$selectBlock.="<option value=\"$rowArrayObj->$objPropertyNameForOptionsName \">$rowArrayObj->$objPropertyNameForOptionsName</option>";
}
}
(對象的類stdClass無法轉換爲字符串)
如果我替換 $ rowArrayObj - > $ objPropertyNameForOptionsName
$rowArrayObj->categoryHive
一切正常,但功能的ARG遊戲不一樣的所有的時間。顯然
我搜索這個網站上發現了一些建議..但沒有在這裏工作 是我tryied
$objPropertyNameForOptionsName='$objPropertyNameForOptionsName';
$rowArrayObj->{'$objPropertyNameForOptionsName'};
有什麼想法嗎?
進出口發現很難套用您的具體情況,但你剛剛嘗試過:'$ rowArrayObj-> objPropertyNameForOptionsName;'? – JammyDodger231 2014-11-02 21:34:55
你可以看到即時通過PHP創建一個選擇標記...如果我用(categoryHive)替換$ objPropertyNameForOptionsName一切正常,但$ objPropertyNameForOptionsName值是categoryHive ..所以我不明白爲什麼即時通訊得到這個錯誤... – 2014-11-02 22:33:54