请查看我的代码:
function getShopConfig()
{
$sql = "SELECT sc_name, sc_address, sc_phone, sc_email, sc_shipping_cost, sc_order_email, cy_symbol, sc_currency
FROM kol_shop_config , kol_currency
WHERE sc_currency = cy_id";
$result = dbQuery($sql);
$row = dbFetchAssoc($result);
if ($row) {
//extract($row);
$shopConfig = array('name' => $row['sc_name'],
'address' => $row['sc_address'],
'phone' => $row['sc_phone'],
'email' => $row['sc_email'],
'sendOrderEmail' => $row['sc_order_email'],
'shippingCost' => $row['sc_shipping_cost'],
'currency' => $row['sc_currency']);
}
return $shopConfig;
}
然后我称之为,
<td colspan="4" align="right"><?php getShopConfig(); echo $shopConfig['name'];?></td>
但没有显示任何内容..错误在哪里?请帮忙。
注意:两者都在同一页面中。 dbQuery()和dbFetchAssoc()函数是预定义的,之前已正常工作。如果我在函数内部回显它然后调用它然后它正常工作。
答案 0 :(得分:7)
<?php
$shopConfig = getShopConfig();
echo $shopConfig['name'];
?>
您必须先将返回的数组分配给某个($shopConfig
)变量。
答案 1 :(得分:1)
<?php $shopConfig = getShopConfig(); ?>
<td colspan="4" align="right"><?php echo $shopConfig['name'];?></td>
答案 2 :(得分:0)
您只返回值,但不会在任何变量中捕获它。
尝试
<?php $shopConfig=getShopConfig(); echo $shopConfig['name'];?>
答案 3 :(得分:0)
您的函数正在返回一个值。您必须将此值分配给变量,然后然后从该变量访问您想要的元素:即
<td colspan="4" align="right"><?php $configs = getShopConfig(); echo $configs['name'];?></td>
您要做的是使用已在函数中声明的变量$shopConfig
。这是一个局部变量,在函数外部不存在。如果需要,可以创建全局$shopConfig
,但这是一个冗余解决方案,因为您从函数返回数组。您应该避免全局变量,因为它会使您的代码更难以理解和维护。
然而,通过直接访问返回值,有一种简单的方法(也许你只是使用函数来获取元素'name'
):即
<td colspan="4" align="right"><?php echo $getShopConfig()['name'];?></td>