如何获取键 -> 值 - PHP


How to foreach Key -> Value - PHP?

我有一个名为$matches的数组,下面你可以看到一个

print_r(array_filter($matches));的结果

Array ( 
[0] => Array ( 
    [0] => Age: 
    [1] => 22 Years 
    [2] => Ethnicity: 
    [3] => Caucasian 
    [4] => Location: 
    [5] => London, United Kingdom

var_dump($matches);结果

array(1) { 
[0]=> array(66) { 
    [0]=> string(202) " Age: " 
    [1]=> string(157) " 22 Years " 
    [2]=> string(196) " Ethnicity: " 
    [3]=> string(146) " Caucasian " 
    [4]=> string(195) " Location: " 
    [5]=> string(175) " London, United Kingdom "

所以这里的结构是键->值,键->值,..

正如您注意到的,所有键(值名称)都以:结尾

我想要的结果

echo $age;         // Should result: 22 Years
echo $ethnicity;   // Should result: Caucasian
echo $location;    // Should result: London, United Kingdom

如何将每个数组编号 0,2,4 作为值名称?

并热将数组编号 1,2,5 设置为他们的结果?

如果你真的想重新映射并且事情会交替出现,请尝试:

function remap_alternating(array $values) {
    $remapped = array();
    for($i = 0; $i < count($values) - 1; $i += 2) {
        $remapped[trim($values[$i], ": ")] = trim($values[$i + 1], " ");
    }
    return $remapped;
}

然后你可以使用

$mapped = remap_alternating($matches[0]);
foreach($mapped as $key => $val) {
    echo "<p>$key = $val</p>";
}

我为此设置了$matches:

$matches = array(
    array ( " Age: ", " 22 Years ", " Ethnicity: ", " Caucasian ", " Location: ", " London, United Kingdom " )
);

它打印:

年龄 = 22 岁

种族=白种

位置 = 英国伦敦