让大脑在这里冻结。这是一个针对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;没有joy..。我知道我的额头会痛,但我已经准备好接受疼痛给我的解脱。
为了添加更多细节,此脚本(位于Joomla的表单/应用程序构建器Fabrik中)启动:
<?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“选项只是基本价格的”加法器“。
希望这能有所帮助。
发布于 2013-03-30 08:08:18
您需要访问返回对象内的数据,而不仅仅是对象本身。
$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:
intval($baseprice[0]->base_price)作为int,您应该能够简单地使用+字符进行添加,如您在代码中所演示的那样。
https://stackoverflow.com/questions/15713294
复制相似问题