我有这样的代码
foreach($all_meta_for_user as $key=>$val){
if (array_key_exists ('invoice_company_name', $val)
&& array_key_exists('invoice_street', $val)
&& array_key_exists('invoice_street_number', $val)
&& array_key_exists('invoice_post_code', $val)
&& array_key_exists('invoice_city', $val)
&& array_key_exists('invoice_country', $val)
&& array_key_exists('invoice_nip', $val) ): ?>
我想做的是:&& array_key_exists('invoice_nip', $val)
部分应该是"如果"。
我有两种类型的账户——个人账户和公司账户,
因此,当某人是个人用户时,不需要使用nip的最后一个语句。
当某人拥有公司账户时,就需要它。
有什么想法吗?:)
谢谢!
尝试使用类似in_array
的
$array = array('invoice_company_name','invoice_street','invoice_street_number',...);
if(in_array($val,$array)) {
}
只需在这里做一件事:
将您的最后一个条件更改为
&& ($accType=='individual' || array_key_exists('invoice_nip', $val))
这样,只有当您的$accType
不是单独的时,才会检查最后一个条件
$accType='company';
foreach($all_meta_for_user as $key=>$val){
if (array_key_exists ('invoice_company_name', $val)
&& array_key_exists('invoice_street', $val)
&& array_key_exists('invoice_street_number', $val)
&& array_key_exists('invoice_post_code', $val)
&& array_key_exists('invoice_city', $val)
&& array_key_exists('invoice_country', $val)
&& ($accType=='individual' || array_key_exists('invoice_nip', $val)) ): ?>
我想这就是你想要的?
快乐编码!!!
最好将动态数组作为参数传递给此函数,然后解析
例如,对于公司,类型将是
$typesArr = array('invoice_company_name','invoice_street','invoice_street_number','invoice_post_code','invoice_city','invoice_country','invoice_nip')
对于工业来说,它将像
$typesArr = array('invoice_company_name','invoice_street','invoice_street_number','invoice_post_code','invoice_city','invoice_country')
检查代码:
foreach($all_meta_for_user as $key=>$val){
foreach($typesArr as $type){
if(array_key_exists($type,$val){
// blah blah
}
}
}