0

$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を値名としてforeachする方法は?

そして、その結果として配列番号 1、2、5 を設定するのは難しいですか?

4

1 に答える 1

1

本当に再マップしたいだけで物事が交互になる場合は、試してください:

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 歳

民族=​​白人

場所 = イギリス、ロンドン

于 2013-11-07T02:30:12.490 に答える