Подтвердить что ты не робот

Str_replace() с ассоциативным массивом

Вы можете использовать массивы с str_replace():

$array_from = array ('from1', 'from2'); 
$array_to = array ('to1', 'to2');

$text = str_replace ($array_from, $array_to, $text);

Но что, если у вас есть ассоциативный массив?

$array_from_to = array (
 'from1' => 'to1';
 'from2' => 'to2';
);

Как вы можете использовать его с str_replace()?
Значение скорости - массив достаточно большой.

4b9b3361

Ответ 1

$text = strtr($text, $array_from_to)

Кстати, это все равно одномерный "массив".

Ответ 2

$array_from_to = array (
    'from1' => 'to1',
    'from2' => 'to2'
);

$text = str_replace(array_keys($array_from_to), $array_from_to, $text);

Поле to будет игнорировать ключи в вашем массиве. Ключевая функция здесь array_keys.

Ответ 3

$text='yadav+RAHUL(from2';

  $array_from_to = array('+' => 'Z1',
                         '-' => 'Z2',
                         '&' => 'Z3',
                         '&&' => 'Z4',
                         '||' => 'Z5',
                         '!' => 'Z6',
                         '(' => 'Z7',
                         ')' => 'Z8',
                         '[' => 'Z9',
                         ']' => 'Zx1',
                         '^' => 'Zx2',
                         '"' => 'Zx3',
                         '*' => 'Zx4',
                         '~' => 'Zx5',
                         '?' => 'Zx6',
                         ':' => 'Zx7',
                         "'" => 'Zx8');

  $text = strtr($text,$array_from_to);

   echo $text;

 //output is

yadavZ1RAHULZ7from2

Ответ 4

$keys = array_keys($array);
$values = array_values($array);
$text = str_replace($key, $values, $string);

Ответ 5

$search = array('{user}', '{site}');
$replace = array('Qiao', 'stackoverflow');
$subject = 'Hello {user}, welcome to {site}.';

echo str_replace ($search, $replace, $subject);

Результаты в Hello Qiao, welcome to stackoverflow..

$array_from_to = array (
    'from1' => 'to1';
    'from2' => 'to2';
);

Это не двумерный массив, а ассоциативный массив.

Развернувшись в первом примере, где мы поместим $search в качестве ключей массива, а значение $replace - как это, код будет выглядеть следующим образом.

$searchAndReplace = array(
    '{user}' => 'Qiao',
    '{site}' => 'stackoverflow'
);

$search = array_keys($searchAndReplace);
$replace = array_value($searchAndReplace);
# Our subject is the same as our first example.

echo str_replace ($search, $replace, $subject);

Результаты в Hello Qiao, welcome to stackoverflow..