如果在Product addons插件中设置了PRICE,则print_r输出Array([129] => Array(...其他值... [选择按摩(190,00€) ] => Relaxation 2h)),但当PRICE字段为空时,print_r输出Array([129] => Array(...其他值... [ Select Massage ] => Relaxation 2h))
如果价格在键中,则我无法从数组中获取值(输出为空字符串),而如果键中没有价格,则以下代码将正常工作并输出弛豫2h。价格是在Woocommerce产品插件插件的后端设置的。
foreach ( $podatki as $item ) {
$massage = $item['Select Massage'];
}
echo $massage;
RESULT: Relaxation 2h
foreach ( $podatki as $item ) {
$massage = $item['Select Massage (190,00 €)'];
}
echo $massage;
RESULT: 'empty string'
由于Array键的价格根据客户的选择而变化,我也想知道如何通过仅检查键的“ Select Massage”字符串部分来从array中获取数据吗?
没有默认功能可以让您使用部分键从数组中选择项目。但是您可以通过手动遍历数组来做到这一点:
foreach ($podatki as $item) {
foreach ($item as $key => $value) {
if (strpos($key, 'Select Massage') === 0) {
$massage = $value;
break;
}
}
}
这将设置$massage
为从Select Massage
数组开始的第一个键下的值。
另一种方法是从键开始Select Massage
到单独的数组中提取所有值。可以这样完成:
$massages = array_filter(array_map(function ($key, $value) {
return strpos($key, 'Select Massage') === 0 ? $value : null;
}, array_keys($item), $item));
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句