Hướng dẫn replace string in array php - thay thế chuỗi trong mảng php

19

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Làm thế nào tôi có thể thay thế một chuỗi phụ bằng một số chuỗi khác cho tất cả các mục của một mảng trong PHP?

Tôi không muốn sử dụng một vòng lặp để làm điều đó. Có một chức năng được xác định trước trong PHP làm chính xác điều đó?

Làm thế nào tôi có thể làm điều đó trên các phím của mảng?

Hướng dẫn replace string in array php - thay thế chuỗi trong mảng php

hỏi ngày 12 tháng 2 năm 2011 lúc 8:01Feb 12, 2011 at 8:01

5

Tại sao không sử dụng str_replace mà không có vòng lặp?

$array = array('foobar', 'foobaz');
$out = str_replace('foo', 'hello', $array);

Đã trả lời ngày 12 tháng 2 năm 2011 lúc 8:13Feb 12, 2011 at 8:13

Hướng dẫn replace string in array php - thay thế chuỗi trong mảng php

Netcodernetcodernetcoder

65.1K17 Huy hiệu vàng121 Huy hiệu bạc142 Huy hiệu đồng17 gold badges121 silver badges142 bronze badges

5

$array = array_map(
    function($str) {
        return str_replace('foo', 'bar', $str);
    },
    $array
);

Nhưng array_map chỉ là một vòng lặp ẩn. Tại sao không sử dụng một cái thật?

foreach ($array as &$str) {
    $str = str_replace('foo', 'bar', $str);
}

Điều đó dễ dàng hơn nhiều.

Đã trả lời ngày 12 tháng 2 năm 2011 lúc 8:07Feb 12, 2011 at 8:07

NikicnikicNikiC

99,6K36 Huy hiệu vàng188 Huy hiệu bạc224 Huy hiệu đồng36 gold badges188 silver badges224 bronze badges

1

Đây là một ý tưởng rất tốt mà tôi đã tìm thấy và sử dụng thành công:

function str_replace_json($search, $replace, $subject) 
{
    return json_decode(str_replace($search, $replace, json_encode($subject)), true);
}

Nó cũng tốt cho các mảng đa chiều.

Nếu bạn thay đổi "Đúng" thành "Sai" thì nó sẽ trả lại một đối tượng thay vì một mảng kết hợp.

Nguồn: Codelinks

Đã trả lời ngày 13 tháng 11 năm 2014 lúc 10:51Nov 13, 2014 at 10:51

Hướng dẫn replace string in array php - thay thế chuỗi trong mảng php

1

Tôi không chắc điều này hiệu quả như thế nào, nhưng tôi muốn thay thế các chuỗi trong một mảng đa chiều lớn và không muốn lặp qua tất cả các mục vì cấu trúc mảng khá năng động.

Đầu tiên tôi json_encode mảng thành một chuỗi.

Thay thế tất cả các chuỗi tôi muốn (cần sử dụng preg_replace nếu có các ký tự không phải là tiếng Anh được mã hóa bởi json_encode).

$array = array_map(
    function($str) {
        return str_replace('foo', 'bar', $str);
    },
    $array
);
1 để lấy lại mảng.

Hướng dẫn replace string in array php - thay thế chuỗi trong mảng php

Đã trả lời ngày 28 tháng 11 năm 2015 lúc 13:31Nov 28, 2015 at 13:31

GolugoluGolu

4165 Huy hiệu bạc16 Huy hiệu Đồng5 silver badges16 bronze badges

function my_replace_array($array,$key,$val){
    for($i=0;$i

Đã trả lời ngày 22 tháng 10 năm 2016 lúc 13:41Oct 22, 2016 at 13:41

Ferhat Koçerferhat KoçerFerhat KOÇER

3.52624 Huy hiệu bạc25 Huy hiệu đồng24 silver badges25 bronze badges

Với

$array = array_map(
    function($str) {
        return str_replace('foo', 'bar', $str);
    },
    $array
);
2

function replace_array_recursive( string $needle, string $replace, array &$haystack ){
    array_walk_recursive($haystack,
        function (&$item, $key, $data){
        $item = str_replace( $data['needle'], $data['replace'], $item );
        return $item;
    },
        [ 'needle' => $needle, 'replace' => $replace ]
    );
}

Đã trả lời ngày 7 tháng 4 năm 2020 lúc 18:54Apr 7, 2020 at 18:54

J.BizMaiJ.BizMaiJ.BizMai

2.4053 huy hiệu vàng22 Huy hiệu bạc44 Huy hiệu đồng3 gold badges22 silver badges44 bronze badges

$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));
$basket = array_replace_recursive($base, $replacements);
$basket = array_replace($base, $replacements);

Hướng dẫn replace string in array php - thay thế chuỗi trong mảng php

Matt Ke

3.27911 Huy hiệu vàng30 Huy hiệu bạc47 Huy hiệu đồng11 gold badges30 silver badges47 bronze badges

Đã trả lời ngày 13 tháng 9 năm 2021 lúc 1:48Sep 13, 2021 at 1:48

1

Làm thế nào tôi có thể thay thế một chuỗi bằng một chuỗi khác trong PHP?

Str_replace () là một hàm tích hợp trong PHP và được sử dụng để thay thế tất cả các lần xuất hiện của chuỗi tìm kiếm hoặc mảng chuỗi tìm kiếm bằng chuỗi thay thế hoặc mảng chuỗi thay thế trong chuỗi hoặc mảng đã cho.str_replace() is a built-in function in PHP and is used to replace all the occurrences of the search string or array of search strings by replacement string or array of replacement strings in the given string or array respectively.

Làm thế nào tôi có thể thay thế nhiều từ trong một chuỗi trong PHP?

Cách tiếp cận 1: Sử dụng các hàm str_replace () và str_split () trong PHP. Hàm str_replace () được sử dụng để thay thế nhiều ký tự trong một chuỗi và nó có ba tham số. Tham số đầu tiên là mảng các ký tự để thay thế.Using the str_replace() and str_split() functions in PHP. The str_replace() function is used to replace multiple characters in a string and it takes in three parameters. The first parameter is the array of characters to replace.

Làm thế nào để bạn thay đổi khóa của một mảng?

3 cách để thay đổi khóa mảng mà không thay đổi thứ tự trong PHP..
Thay đổi phím mảng bằng cách sử dụng mã hóa/giải mã JSON.Thay đổi phím mảng bằng cách sử dụng mã hóa/giải mã JSON.....
Thay thế phím & duy trì thứ tự bằng các hàm mảng trong PHP.....
Thay đổi phím mảng mà không thay đổi thứ tự (khả năng mảng đa chiều).

Làm cách nào để xóa một từ khỏi chuỗi trong PHP?

Trả lời: Sử dụng hàm Php str_Replace () Bạn có thể sử dụng hàm Php str_replace () để thay thế tất cả các lần xuất hiện của một từ trong một chuỗi.Use the PHP str_replace() function You can use the PHP str_replace() function to replace all the occurrences of a word within a string.