Làm thế nào tôi có thể thay đổi strpos để làm cho nó không phân biệt chữ hoa chữ thường. Lý do là nếu product->name
là MadBike và cụm từ tìm kiếm là xe đạp, nó sẽ không lặp lại liên kết cho tôi. Mối quan tâm chính của tôi là tốc độ của mã.Làm thế nào để làm cho trường hợp strpos không nhạy cảm
<?php
$xml = simplexml_load_file('test.xml');
$searchterm = "bike";
foreach ($xml->product as $product) {
if (strpos($product->name, $searchterm) !== false) {
echo $product->link;
} }
?>
Nhanh như strpos? – EnexoOnoma
Không, nhưng nó nhanh hơn một chút so với sử dụng 'strtolower()' trước; trung bình, nó ('stripos') dường như mất khoảng 2,5 lần dài hơn (' strpos'). Sau đó, một lần nữa, bạn vẫn có thể làm điều đó ('stripos') một triệu lần mỗi giây, vì vậy tôi sẽ không lo lắng nhiều về nó - tối ưu hóa sớm là gốc rễ của mọi điều ác. – Dereleased
Về lý thuyết, không có giải pháp có thể được, bởi vì có nhiều so sánh được thực hiện. Nhưng đây là một số dữ liệu: http://lzone.de/articles/php-string-search.htm – Turnsole