2017-09-13 78 views
0

我試圖從數據庫插入數據到stdClass,但由於某種原因,我收到通知Notice: Array to string conversion in data.php on line 47注意:將stdClass插入到stdClass時的數組到字符串轉換

我正在創建2個stdClasses,每個車輛一個,一個包含所有車輛的一般。當我試圖將車輛的stdClass插入一般車輛時,我收到通知。

這裏是我的代碼(注意我寫的,其中線47):

$data = new stdClass(); 

while($row = mysqli_fetch_array($tresult)) { 
    $vehicle = new stdClass(); 
    $vehicle->name = $row['name']; 
    $vehicle->position = $row['position']; 

    $data->$row['name'] = $vehicle; //Line 47 
} 

缺少什麼我在這裏? 謝謝

+4

嘗試'$數據 - > {$行[ '名稱']}'也許?請參閱:http://php.net/manual/en/language.variables.variable.php – ficuscr

+0

嘗試var_dump($ vehicle);看看是否是一個數組或字符串,關注:)。 – 2017-09-13 20:11:14

+0

@ficuscr你是個天才......謝謝你:D把它寫成答案,一旦它讓我接受它, – morha13

回答

4

嘗試這種方式分配,因爲你要插變量

$data->{$row['name']} = $vehicle

+0

謝謝你,ficuscr,它修復了它!我會在它讓我接受答案.. – morha13

+2

只是爲了想了解更多關於如何工作的信息,這被稱爲[複雜語法](https://stackoverflow.com/a/2596838/5827005 ) – GrumpyCrouton

+0

真棒鏈接,謝謝! – OsDev

相關問題