【发布时间】:2015-01-14 01:18:48
【问题描述】:
我正在寻找一种仅将几个变量放入 foreach 循环的方法。
基本上,我正在寻找空值,并使用 die 告诉用户返回并填写表格。
这是我的数组:
$posted = array(
$sales_rep = strtoupper($_POST['sales_rep']),
$c_first_name = strtoupper($_POST['c_first_name']),
$c_last_name = strtoupper($_POST['c_last_name']),
$c_address = strtoupper($_POST['c_address']),
$c_zip = strtoupper($_POST['c_zip']),
$deal_number = strtoupper($_POST['deal_number']),
$deal_stock_number = strtoupper($_POST['deal_stock_number']),
$deal_selling_model = strtoupper($_POST['deal_selling_model']),
$deal_trade_in_model_1 = strtoupper($_POST['deal_trade_in_model_1']),
$deal_trade_in_amount_1 = strtoupper($_POST['deal_trade_in_amount_1']),
$deal_trade_in_model_2 = strtoupper($_POST['deal_trade_in_model_2']),
$deal_trade_in_amount_2 = strtoupper($_POST['deal_trade_in_amount_2']),
$deal_new_status = strtoupper($_POST['deal_new_status']),
$deal_dh = strtoupper($_POST['deal_dh']),
$deal_finance_amount = strtoupper($_POST['deal_finance_amount']),
$deal_pack = strtoupper($_POST['deal_pack']),
$deal_retro = strtoupper($_POST['deal_retro']),
$deal_holdback = strtoupper($_POST['deal_holdback']),
$deal_reserve_amount = strtoupper($_POST['deal_reserve_amount']),
$deal_warrantee = strtoupper($_POST['deal_warrantee']),
$deal_gap = strtoupper($_POST['deal_gap']),
$deal_etch = strtoupper($_POST['deal_etch']),
$deal_maintenence = strtoupper($_POST['deal_maintenence']),
$deal_gross = strtoupper($_POST['deal_gross'])
);
然而,最后几个不能进入,因为它们在表单中隐藏,除非用户这么说(它们可以为空):
$deal_reserve_amount = strtoupper($_POST['deal_reserve_amount']),
$deal_warrantee = strtoupper($_POST['deal_warrantee']),
$deal_gap = strtoupper($_POST['deal_gap']),
$deal_etch = strtoupper($_POST['deal_etch']),
$deal_maintenence = strtoupper($_POST['deal_maintenence']),
$deal_gross = strtoupper($_POST['deal_gross'])
我知道使用 if 可能有一种方法可以做到这一点,但我试图避免使我的代码混乱,并且我正在寻找一种非常简洁的方法来做到这一点,也许在 foreach 本身中。
我的问题:是否可以在 foreach 语句中说只放入几个变量? (为了限制我在数组末尾留出的那些)
如果这不起作用,我可能会运行一个 Javascript 函数来填充这些值,以实际说出类似于“NULL”的内容,但遗憾的是,这不是最有效的方法。
【问题讨论】:
-
那么现在的问题是什么?你不想遍历这些数组元素吗?
-
提示:
$case_changed = array_map ('strtoupper', $_POST);