Добро пожаловать в stackoverflow, Abid!
Можете ли вы добавить свой текущий вывод и ожидаемый вывод и, возможно, сообщение об ошибке? потому что я вижу, что вы используете время вызова по ссылке , которое было удалено в 5.4. (update_comment(&$comment)
).
Я попытался запустить код и принял его, и я вижу, что после его изменения он работает нормально. Вот пример в декларативном и императивном способе сделать это.
function update_comments($comments)
{
if (!empty($comments) && is_array($comments)) {
foreach ($comments as $idx => $comment) {
$comments[$idx] = update_comment($comment);
}
}
return $comments;
}
и здесь в качестве декларативного примера
function update_comments($comments)
{
if (!empty($comments) && is_array($comments)) {
$comments = array_map(function ($comment) {
return update_comment($comment);
}, $comments);
}
return $comments;
}
Здесь пример того, как я использовал ваш код. Вы также можете возиться здесь с указанием c PHP версии: http://sandbox.onlinephpfunctions.com/code/10e616237c0c75c8e3520bdf5866040231879cde
$comments = update_comments([
['comment' => 'This is my #1 comment.'],
['comment' => 'This is my #2 comment.']
]);
print_r($comments);
// Array
// (
// [0] => Array (
// [comment] => This is my <a href="#">#1</a> comment.
// )
//
// [1] => Array (
// [comment] => This is my <a href="#">#2</a> comment.
// )
//
// )
Дайте мне знать, если это помогает или ваша проблема preg_replace()
все еще существует .