Использование ereg_replace в PHP? - PullRequest
0 голосов
/ 12 апреля 2009

Как заменить, используя следующий код?

ereg_replace("%Data_Index\[.\]%", $this->resultGData[$key ][\\1], $var)

Я хочу заменить число в [] %Data_Index
до $this->resultGData[$key ][\\1] то же %Data_Index
и как ex %Data_Index[1] = $this->resultGData[$key][1], $var);

заменить число в %Data_Index[...........] в []
до $this->resultGData[$key ][............] тот же номер

Ответы [ 2 ]

4 голосов
/ 12 апреля 2009

Попробуйте функцию preg_replace() с модификатором e вместо:

preg_replace('/%Data_Index\[(\d+)\]%/e', '$this->resultGData[$key][\1]', $var);

Обратите внимание, что эта функция использует совместимые с Perl регулярные выражения вместо регулярного выражения с расширенным POSIX.

0 голосов
/ 12 апреля 2009

Ваш вопрос немного сложен для понимания

самый разумный способ заменить то, что вы спрашиваете, я полагаю, использовать цикл

например, если вы знаете, что $ this-> resultGData [$ key] [] содержит 10 элементов, вы можете просто сделать это, предполагая% Data_Index [1] (вы уверены, что это не $ Data_Index? I ' предположим, что) вы можете попробовать следующее

$total = count($this->resultGData[$key ]);  //we get the total of elements in that key

for($i=0;$i<$total;$i++)
{
  $Data_Index[$i] = $this->resultGData[$key][$i];
}

теперь, если $ key изменится, вам нужно будет делать это для каждого $ key:)

продолжай практиковать свой английский, это действительно полезный инструмент в области ИТ :) (не то, чтобы я тоже был хорош в этом: P)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...