PHP tìm chuỗi trong mảng

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

  1. Nổ mảng thành một chuỗi. $implode=explode(" ", $array);

  2. 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

Làm cách nào để tìm phần tử trong mảng trong PHP?

hàm Array_search() trong PHP . Hàm trả về khóa cho val nếu nó được tìm thấy trong mảng. Nó trả về FALSE nếu không tìm thấy. Nếu val được tìm thấy trong mảng arr nhiều lần, thì khóa khớp đầu tiên được trả về.

Làm cách nào để tìm chuỗi trong PHP?

Hàm strpos() tìm vị trí xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác. Ghi chú. Hàm strpos() phân biệt chữ hoa chữ thường. Ghi chú. Hàm này an toàn nhị phân.

Làm cách nào để kiểm tra mảng hoặc chuỗi trong PHP?

Hàm is_array() kiểm tra xem một biến có phải là mảng hay không. Hàm này trả về true (1) nếu biến là một mảng, ngược lại trả về false/nothing.

Làm cách nào để lấy giá trị cụ thể từ mảng trong PHP?

1. Hàm array_search() trong PHP . Array_search() trong PHP là một hàm sẵn có được sử dụng rộng rãi để tìm kiếm và định vị một giá trị cụ thể trong mảng đã cho. Nếu tìm thấy thành công giá trị cụ thể, nó sẽ trả về giá trị khóa tương ứng.