2013-12-02 2 views
-1

Я использую preg_replace функции PHP на строку с именем $, где:Использование preg_replace на массив, а не строки

$where = preg_replace('/data\./', '', $where); 

Однако я хотел бы, чтобы достигнуть того же замены выражений, если $ где - массив неизвестного размера.

Должен ли я настроить петлю? Или есть функция PHP, которая поможет мне?

Любая помощь будет оценена по достоинству.

Большое спасибо

Хорошо, вот мой входной массив:

array 
    0 => null 
    1 => null 
    2 => 
    array 
     'condition' => 
     array 
      'column' => string 'start' (length=5) 
      'operator' => string '>=' (length=2) 
      'argvalue' => string '2013-11-21 00:00:00' (length=19) 
    3 => 
    array 
     'condition' => 
     array 
      'column' => string 'start' (length=5) 
      'operator' => string '<=' (length=2) 
      'argvalue' => string '2013-11-21 23:59:59' (length=19) 
    4 => null 

Вот моя манипуляция:

$where = preg_replace('/start\./', 'Alan', $where); 

А вот мой выход:

array 
    0 => string '' (length=0) 
    1 => string '' (length=0) 
    2 => string 'Array' (length=5) 
    3 => string 'Array' (length=5) 
    4 => string '' (length=0) 

Это возвращает Array в Stri ng ошибка преобразования.

Благодарности

+1

preg_replace достаточен также принимает массив в качестве первого, второго аргумента и третьего аргумента –

+0

Из [DOCS] (HTTP: //www.php. net/function.preg-replace): __subject__ Строка или массив со строками для поиска и замены. Если объектом является массив, то поиск и замена выполняются для каждой записи объекта, а возвращаемое значение также является массивом. –

+0

RTFM http://us3.php.net/manual/en/function.preg-replace.php – Toto

ответ

1

PHP документы по теме аргумент preg_replace

  • предмет

    Строка или массив строк для поиска и замены.

    Если объектом является массив, то поиск и замена выполняются для каждой записи объекта, а возвращаемое значение также является массивом.

+0

Спасибо, я действительно обращался к документам, поэтому результат запутан. Пожалуйста, см. Дополнительный код, который я добавил в свой первоначальный пост. – Boomfelled

0

Попробуйте этот код:

$text = array("editpostiddata" ,"editpodatastcat", "ch114","ch112"); 

$result = preg_replace(array_fill(0, 4, "/data/i"),'', $text); 
print_r($result); 
Смежные вопросы