Tôi gặp khó khăn khi hiểu khi strtr
thích hợp hơn là str_replace
hoặc ngược lại. Dường như có thể đạt được kết quả chính xác giống nhau bằng cách sử dụng một trong hai hàm, mặc dù thứ tự mà các phần tử được thay thế được đảo ngược. Ví dụ:Khi nào nên sử dụng strtr vs str_replace?
echo strtr('test string', 'st', 'XY')."\n";
echo strtr('test string', array('s' => 'X', 't' => 'Y', 'st' => 'Z'))."\n";
echo str_replace(array('s', 't', 'st'), array('X', 'Y', 'Z'), 'test string')."\n";
echo str_replace(array('st', 't', 's'), array('Z', 'Y', 'X'), 'test string');
này kết quả đầu ra
YeXY XYring
YeZ Zring
YeXY XYring
YeZ Zring
Bên cạnh cú pháp, là có bất kỳ lợi ích để sử dụng một trong khác không? Bất kỳ trường hợp nào không đủ để đạt được kết quả mong muốn?
Từ quan điểm dễ đọc, 'strtr' có thể dễ dàng bị đọc sai là' strstr', điều này hoàn toàn khác. Tôi bắt đầu nghĩ rằng tôi mắc chứng khó đọc. Sẽ không phạm sai lầm đó với str_replace. – Programster