我当前的代码如下
foreach($flowers as $flower){
echo "Order by: " . $flower->cust_name . "with item: " . $flower->item;
// code result above
// Order by: Anna Witck with item Lily
// Order by: George Maxwel with item Rose
// Order by: Catherine Giin with item Aster
// and so on..
}
但我希望它更新它,以便每行结果都有不同的(两个)变量,如下所示
$anna_cust = $flower->cust_name; // result: Anna Witck
$anna_item = $flower->item; // result: Lily
$george_cust = $flower->cust_name; // result: George Maxwel
$george_item = $flower->item; // result: Rose
$catherine_cust = $flower->cust_name; // result: Catherine Giin
$catherine_item = $flower->item; // result: Aster
因此,如果它是一个数组而不是一个对象,则可以访问如下键:
$name = $flower['cust_name'];
您试图显示对象数据,如->
符号,但$flower是一个数组,因此请尝试以下
<?php
foreach($flowers as $flower){
echo "Order by: " . $flower['cust_name'] . "with item: " .$flower['item'];
}
?>
像这个
$data = array();
foreach ($flowers as $flower) {
$name = explode(' ', trim($flower->cust_name));
// Set varibale name
$var_cust = strtolower($name[0]) . '_cust' ;
$var_item = strtolower($name[0]) . '_item' ;
$data[$var_cust] = $flower->cust_name;
$data[$var_name] = $flower->item;
}
使用${}
是创建动态变量的一种方法。所以试试下面的
<?php
foreach($flowers as $flower){
$cast_name = explode(' ', trim($flower->cust_name));
${strtolower($cast_name[0]). '_cust'}=$flower->cust_name;
${strtolower($cast_name[0]). '_item'}=$flower->item;
}
?>