Hàm strpos() trả về vị trí xuất hiện đầu tiên của chuỗi con trong một chuỗi. Nếu không tìm thấy chuỗi con, nó trả về false. Cũng lưu ý rằng các vị trí chuỗi bắt đầu từ 0 chứ không phải 1
Giả sử chúng ta có mảng sau
$subject= array('JavaScript','Java','PHP language','Python Language');Từ mảng trên, chúng ta cần tìm nạp các giá trị với văn bản sau
$valueToSearch= 'Language';Đối với trận đấu như vậy, hãy sử dụng preg_match() trong PHP
Thí dụ
Mã PHP như sau
Bản thử trực tiếp
$value) { if(preg_match("/\b$valueToSearch\b/i", $value)){ $result[$t] = $value; } } print_r($result); ?>đầu ra
Điều này sẽ tạo ra đầu ra sau
Array ( [2] => PHP language [3] => Python Language )Tôi không thể tìm thấy hàm PHP sẵn dùng để thực hiện tìm kiếm một phần chuỗi trong một mảng chuỗi. Vì vậy, tôi đã phải viết một hàm trợ giúp đơn giản bằng cách sử dụng strpos cho một dự án WordPress, tôi đang làm việc trên
Tìm kiếm một phần chuỗi trong một mảng bằng cách sử dụng strpos
Đây là đoạn trích trong trường hợp bạn cần nó
/** * Helper function to do a partial search for string inside array. * * @param array $array Array of strings. * @param string $keyword Keyword to search. * * @return array */ function array_partial_search( $array, $keyword ) { $found = []; // Loop through each item and check for a match. foreach ( $array as $string ) { // If found somewhere inside the string, add. if ( strpos( $string, $keyword ) !== false ) { $found[] = $string; } } return $found; } // Simple list of fruits. $fruits = [ 'apple', 'grapes', 'orange', 'pineapple' ]; // Result - [ 'apple', 'grapes', 'pineapple' ]; $found = array_partial_search( $fruits, 'ap' );Hãy cho tôi biết trong các nhận xét nếu bạn nghĩ rằng có sẵn một giải pháp thay thế tốt hơn
Để tìm hiểu xem chuỗi con phân biệt chữ hoa chữ thường UTF-8 có trong mảng hay không, tôi thấy rằng phương pháp này sẽ nhanh hơn nhiều so với sử dụng mb_strtolower hoặc mb_convert_case
Nổ mảng thành một chuỗi. $implode=explode(" ", $array);
Chuyển đổi chuỗi ẩn thành chữ thường bằng chức năng tùy chỉnh. $lowercased_imploded = to_lower_case($imploded);
hàm to_lower_case($str) {
$from_array=["A","B","C","D","E","F","G","H","I","J","K","L
$to_array=["a","b","c","d","e","f","g","h","i","j","k","l
________số 8
function array_recursive_search_key_map($needle, $haystack) {
foreach($haystack as $first_level_key=>$value) {
if ($needle === $value) {
return array($first_level_key);
} elseif (is_array($value)) {
$callback = array_recursive_search_key_map($needle, $value);
if ($callback) {
return array_merge(array($first_level_key), $callback);
}
}
}
return false;
}
$valueToSearch= 'Language';0
$valueToSearch= 'Language';1
$valueToSearch= 'Language';2
$valueToSearch= 'Language';3
$valueToSearch= 'Language';4
$valueToSearch= 'Language';5
$valueToSearch= 'Language';6
$valueToSearch= 'Language';7
function array_recursive_search_key_map($needle, $haystack) {
foreach($haystack as $first_level_key=>$value) {
if ($needle === $value) {
return array($first_level_key);
} elseif (is_array($value)) {
$callback = array_recursive_search_key_map($needle, $value);
if ($callback) {
return array_merge(array($first_level_key), $callback);
}
}
}
return false;
}0
function array_recursive_search_key_map($needle, $haystack) {
foreach($haystack as $first_level_key=>$value) {
if ($needle === $value) {
return array($first_level_key);
} elseif (is_array($value)) {
$callback = array_recursive_search_key_map($needle, $value);
if ($callback) {
return array_merge(array($first_level_key), $callback);
}
}
}
return false;
}1