我有一个名为$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 岁
种族=白种
人位置 = 英国伦敦