如何从PHP数组中获取数据?数组键中是否允许货币符号


How to get data from PHP array? Is currency symbol allowed in array key?

如果在产品插件插件中设置价格,则print_r输出数组 ( [129] => 数组 ( ...其他值...[选择按摩 (190,00 €)] => 放松 2h ) ),但如果价格字段留空 print_r输出数组 ( [129] => 数组 ( ...其他值...[选择按摩] =>放松 2 小时 ) )

如果价格在键中,

我无法从数组中获取值(输出是一个空字符串),而如果键中没有价格,则以下代码正常工作并输出放松 2 小时。 价格在 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'
由于数组键中

的价格根据客户选择而变化,我还想知道如何通过仅检查键的"选择按摩"字符串部分从数组中获取数据?

没有默认函数允许您使用部分键从数组中选择项目。但是您可以通过手动迭代数组来实现:

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));

希望这有帮助。