首先,我不是PHP开发人员。我主要来自.net堆栈背景。我正在帮助一个拥有电子商务网站的朋友,在他的一个模块中,我遇到了以下代码:
$this->smarty->assign(array(
'first_name' => $params['cookie']->customer_firstname,
'last_name' => $params['cookie']->customer_lastname,
'email' => $params['cookie']->email,
'contact_number' => $address->phone,
'address_line_one' => $address->address1,
'address_line_two' => $address->address2,
'city' => $address->city,
'postal_code' => $address->postcode,
'Country' => $address->country
));
我想在此处检查 $ address->手机是否为空,如果是,请指定 $ address-> phone_mobile 。如果不是,那么应该进行现有的分配。有人可以帮我解决这个问题吗?
P.S .- 如果重要,Prestashop将被用作电子商务解决方案。
答案 0 :(得分:1)
您可以使用三元运算符的空变量:
'contact_number' => $address->phone ?: $address->phone_mobile,
答案 1 :(得分:1)
如果你知道var是否存在,你可以使用isset()
'contact_number' => isset($address->phone) ? $address->phone : $address->phone_mobile;
如果你确定var存在但是你知道是否是一个空文本
'contact_number' => strlen($address->phone) > 0 ? $address->phone : $address->phone_mobile;