我还是PHP新手所以请耐心等待.
所以我收到此错误:注意:尝试在此行上获取非对象的属性:
echo (
"<tr>".
"<td>".$row->last_name. "</td>".
"<td>".$row->first_name. "</td>".
"<td>".$row->phone_no. "</td>".
"<td>".$row->date_of_birth. "</td>".
"<td>".$row->membership. "</td>".
"</tr></table>");
Run Code Online (Sandbox Code Playgroud)
我在我的函数上使用了print_r,得到了:
Array
(
[0] => Array
(
[0] => Lee
[last_name] => Lee
[1] => Lian
[first_name] => Lian
[2] => 39025823
[phone_no] => 39025823
[3] => 1967-09-19
[date_of_birth] => 1967-09-19
[4] => T
[membership] => T
[5] =>
[status] =>
[6] => 0
[room_no] => 0
)
)
Run Code Online (Sandbox Code Playgroud)
所以数组中有元素.
实际代码属于:
foreach($array as $row)
{
echo (
"<tr>".
"<td>".$row->last_name. "</td>".
"<td>".$row->first_name. "</td>".
"<td>".$row->phone_no. "</td>".
"<td>".$row->date_of_birth. "</td>".
"<td>".$row->membership. "</td>".
"</tr></table>");
}
Run Code Online (Sandbox Code Playgroud)
我在想 - 如何将数组转换为对象?也许这将是我的解决方案.
Phi*_*hil 14
我在想 - 如何将数组转换为对象?也许这将是我的解决方案.
这确实是一个解决方案.
$row = (object) $row;
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用正确的语法来处理有问题的数据类型,在本例中是一个数组.
代替
$row->last_name
Run Code Online (Sandbox Code Playgroud)
你应该用
$row['last_name']
Run Code Online (Sandbox Code Playgroud)
在使用数组时,您应该使用[]访问数组的项目:
echo $row['last_name'];
Run Code Online (Sandbox Code Playgroud)
使用正确的语法,错误将消失;-)
尽管如此,如果你真的想要将一个数组转换为一个对象(不知道为什么你会这样做,但在这种特定情况下),你可以使用这个:
$row = (object)$row;
echo $row->last_name;
Run Code Online (Sandbox Code Playgroud)
这是手册的相关部分:Type Casting
试试这个...
foreach($array as $row)
{
echo (
"<tr>".
"<td>".$row['last_name']. "</td>".
"<td>".$row['first_name']. "</td>".
"<td>".$row['phone_no']. "</td>".
"<td>".$row['date_of_birth']. "</td>".
"<td>".$row['membership']. "</td>".
"</tr></table>");
}
Run Code Online (Sandbox Code Playgroud)