私はそのような配列を持っています
$tags =
Array
(
[0] => Array
(
[0] => [first_name] [last_name]
[2] => [city],[state] [zipcode]
)
)
私もそのようなリストを持っています
$array_list =
[0] => Array
(
[first_name] => Bob
[last_name] => Johnson
[city] => mycity
[state] => NY
[zipcode] => 911564
)
[1] => Array
(
[first_name] => John
[last_name] => Doe
[city] => New York
[state] => NY
[zipcode] => 9115
)
[2] => Array
(
[first_name] => James
[last_name] => Belt
[city] => Los Angeles
[state] => CA
[zipcode] => 915456
)
私は基本的に、括弧内のすべてのタグを配列の実際の値に置き換えたいと考えています。私は次のことを試しましたが、単一の値を正しく返すだけのようです
foreach($tags as $key=>$value) {
$data[$key] = preg_replace_callback('/[\[|<](.*)[\]\)]/U', 'replace_text', $value);
}
function replace_text($matches) {
foreach ($array_list as $arg) {
return $args[$matches[1]];
}
}
そのように見える1つの結果しか返されません
Array
(
[0] => Array
(
[0] => Bob Johnson
[1] => mycity,NY 911564
)
)
すべての結果をすべて正しい値で配列に戻すにはどうすればよいですか
関数 replace_text を変更して、値を配列に設定し、配列を返すようにしようとしました
function replace_text($matches) {
foreach ($array_list as $arg) {
$new_array[]= $args[$matches[1]];
}
return $new_array;
}
しかし、これは戻ります
Array
(
[0] => Array
(
[0] => Array Array
[1] => Array
[2] => Array,Array Array
)
)
また、このコンテンツはすべて動的であるため、一度は [first_name] と次の [name_first] またはその他の何かになる可能性があることも付け加えておく必要があります。配列。