0

大脑在这里冻结。这是 7 个字符串变量的 var_dump()...

array(1) { [0]=> object(stdClass)#635 (1) { ["base_price"]=> string(3) "449" } }
array(1) { [0]=> object(stdClass)#445 (1) { ["option_delta"]=> string(2) "15" } }
array(1) { [0]=> object(stdClass)#639 (1) { ["option_delta"]=> string(2) "29" } }
array(1) { [0]=> object(stdClass)#448 (1) { ["option_delta"]=> string(2) "19" } }
array(1) { [0]=> object(stdClass)#447 (1) { ["option_delta"]=> string(2) "39" } }
array(1) { [0]=> object(stdClass)#446 (1) { ["option_delta"]=> string(2) "34" } }
array(1) { [0]=> object(stdClass)#449 (1) { ["option_delta"]=> string(2) "34" } }

我需要这些变量的总和,并像这样处理它:

$totalprice = $baseprice + $procprice + $memprice + $graprice + $hdprice + $optprice + $nicprice;

和这个:

$totalprice = ($baseprice + $procprice + $memprice + $graprice + $hdprice + $optprice + $nicprice);

和这个:

$totalprice = (int)$baseprice + (int)$procprice + (int)$memprice + (int)$graprice + (int)$hdprice + (int)$optprice + (int)$nicprice;

没有喜悦......我知道我的前额会因为dopeslap而受伤,但我已经准备好接受疼痛会给我带来的解脱。

要添加更多细节,此脚本(位于 Fabrik 中,Joomla 的表单/应用程序构建器)启动:

    <?php
$typ = '{rw_inquiries___product_type_id_raw}';
$pro = '{rw_inquiries___selected_processor_raw}';
$mem = '{rw_inquiries___selected_memory_raw}';
$gra = '{rw_inquiries___selected_graphics_raw}';
$hd = '{rw_inquiries___selected_hd_raw}';
$opt = '{rw_inquiries___selected_optical_raw}';
$nic = '{rw_inquiries___selected_nic_raw}';
$db =&JFactory::getDBO();
$db->setQuery("SELECT `base_price` FROM `rw_product_types` where `id` = $typ");
$baseprice = $db->loadObjectList();
$db->setQuery("SELECT `option_delta` FROM `rw_options` where `id` = $pro");
$procprice = $db->loadObjectList();
$db->setQuery("SELECT `option_delta` FROM `rw_options` where `id` = $mem");
$memprice = $db->loadObjectList();
$db->setQuery("SELECT `option_delta` FROM `rw_options` where `id` = $gra");
$graprice = $db->loadObjectList();
$db->setQuery("SELECT `option_delta` FROM `rw_options` where `id` = $hd");
$hdprice = $db->loadObjectList();
$db->setQuery("SELECT `option_delta` FROM `rw_options` where `id` = $opt");
$optprice = $db->loadObjectList();
$db->setQuery("SELECT `option_delta` FROM `rw_options` where `id` = $nic");
$nicprice = $db->loadObjectList();
$totalprice = $baseprice + $procprice + $memprice + $graprice + $hdprice + $optprice + $nicprice;
?>

这 7 个中的每一个都是从下拉列表中选择的表单字段...

并且是用于“配置器”选择计算机、处理器、内存、图形、硬盘驱动器、光学和 NIC 样式的计算机组件。

“delta”选项只是基本价格的“加法器”。

希望有帮助。

4

1 回答 1

0

您需要访问返回对象中的数据,而不仅仅是对象本身。

$totalprice = ((int) $baseprice[0]->base_price + (int) $procprice[0]->option_delta);

那应该给你基本的元素添加。

这是通过观察物体推断出来的。以 $baseprice 为例:

array(1) { [0]=> object(stdClass)#635 (1) { ["base_price"]=> string(3) "449" } }

您知道它是一个包含一个对象的数组,如开头的 array(1) 所示。因此,您可以通过以下方式访问该对象:

$baseprice[0]

然后你会看到花括号之间的内容是[0] => object(...),这意味着第一项是一个对象。要获取该对象中的“base_price”元素,请使用 -> 指向正确的元素:

$baseprice[0]->base_price

要添加字符串,您可以转换为 int:

(int) $baseprice[0]->base_price

或使用整数:

intval($baseprice[0]->base_price)

作为 int,您应该能够简单地通过使用 + 字符来添加,正如您在代码中演示的那样。

于 2013-03-30T00:08:17.703 回答