Preg_replace için belgelerinde bunu birden dizeleri değiştirmek için dizinlenmiş dizileri kullanabilirsiniz diyor. Ben ilişkilendirilebilir dizilerle bunu yapmak istiyorum, ama işe yaramayacak gibi görünüyor.
Bu gerçekten işe yaramazsa biliyor mu?
Eğer tuşları veya anahtarları ve değerleri üzerinde bunu yapmak ya da sadece anahtarlarını korumak ve değerlerini işlemek istiyor musunuz? Hangi durumda, array_combine()
, array_keys()
and array_values()
a> kombinasyon halinde elde edebilirsiniz.
On the keys:
$keys = array_keys($input);
$values = array_values($input);
$result = preg_replace($pattern, $replacement, $keys);
$output = array_combine($result, $values);
On the keys and values:
$keys = array_keys($input);
$values = array_values($input);
$newKeys = preg_replace($pattern, $replacement, $keys);
$newValues = preg_replace($pattern, $replacement, $values);
$output = array_combine($newKeys, $newValues);
On the values retaining keys:
$keys = array_keys($input);
$values = array_values($input);
$result = preg_replace($pattern, $replacement, $values);
$output = array_combine($keys, $result);
Tüm bunlar gibi bir fonksiyonu bir şey varsayalım:
function regex_replace(array $input, $pattern, $replacement) {
...
return $output;
}