PHP thêm nhiều giá trị vào mảng

Sau đây là đoạn mã tôi đã sử dụng để kiểm tra 1 triệu lần thực thi. Tôi đã chạy nó trên phiên bản EC2 với 1cpu và 2g RAM

Show
Total Execution Time: '.$execution_time.' Mins';



//
// Test the array_intersect function
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    //It would contain the result of the array_filter intersection
    $intersection_arr = array_intersect($original, $toSearch);
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';



//
// Test the foreach loop method
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    
    foreach($toSearch as $search)
    {
        //If a country in the $search_values exist in $country_arr
        if(in_array($search,$original))
        {
           $final[] = $search;
        }
    }
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';
PHP thêm nhiều giá trị vào mảng

Nội dung có liên quan trên tìm kiếm mảng

Cho đến nay, chúng ta đã thấy một loạt các hoạt động của mảng và hầu hết thời gian có một số tùy chọn để giải quyết vấn đề. Trong bài viết này, chúng ta sẽ khám phá cách tìm kiếm nhiều giá trị trong một mảng PHP. Chúng tôi đã thấy các bài viết tương tự. Bạn có thể kiểm tra chúng nếu bạn cần

  • Tìm kiếm số nguyên trong mảng kết hợp
  • Cho biết nếu một phần tử có mặt trong một mảng

Các bài viết này xử lý một tìm kiếm liên quan đến việc tra cứu một mảng cho một giá trị. Ở đây chúng ta có một kịch bản hơi khác. Chúng tôi có nhiều giá trị và chúng tôi phải tìm kiếm các giá trị này trong một mảng

Giải pháp tìm kiếm nhiều giá trị trong mảng PHP

Có một số cách hiểu về "tìm kiếm nhiều giá trị trong một mảng PHP". Việc tìm kiếm có thể là cho.  

  • Một tập hợp con cụ thể của các giá trị. (Ngã tư)
  • Một tập hợp con của các giá trị đủ điều kiện cho một điều kiện cụ thể. (Truy vấn)

Chúng tôi sẽ cố gắng xem xét chủ đề từ tất cả các quan điểm này

Vì vậy, không cần phải bận tâm thêm nữa, hãy xem cách tìm kiếm nhiều giá trị trong một mảng PHP

Tìm kiếm nhiều giá trị trong mảng PHP bằng vòng lặp foreach

  1. Tạo một biến bao gồm tất cả các giá trị trong một mảng $fullList chứa tất cả các giá trị
  2. Xác định các giá trị bạn muốn tìm kiếm trong một mảng $searchable riêng biệt
  3. Khởi tạo một mảng tìm kiếm cuối cùng được gọi là $intersectionArray
  4. Lặp lại mảng cơ sở $fullList với vòng lặp foreach
  5. Sử dụng hàm in_array trong câu lệnh if để xem liệu có phần tử $searchable nào tồn tại trong mảng $fullList hiện tại không
  6. Thêm giá trị vào $intersectionArray khi hàm in_array trả về true
  7. Thực hiện var_dump của mảng giao nhau khi hoàn thành

Một foreach loop là điều đầu tiên xuất hiện trong đầu khi chúng ta có các mảng kết hợp. Đó thực sự là điều không thể tránh khỏi và các nhà phát triển cũng như lập trình viên PHP phải dùng đến nó ngay cả khi PHP cung cấp một chức năng chuyên biệt cho một hoạt động

Lý do là vì foreach loop cho phép tự do chơi với các khóa và giá trị của một mảng kết hợp. Ở đây chúng ta sẽ sử dụng nó để tìm kiếm nhiều giá trị trong mảng PHP

Ví dụ. Tìm một tập hợp con cụ thể của các giá trị trong mảng PHP

Trong ví dụ này, chúng ta sẽ xem cách tìm kiếm một mảng cho một nhóm con các giá trị. Phối cảnh vấn đề này tìm kiếm một nhóm các phần tử trong một mảng và trả về những phần tử mà nó tìm thấy thành công.  

Phép toán này tương tự như giao của hai tập hợp. Nếu bạn đã từng học lý thuyết tập hợp ở trường, bạn có thể liên hệ khá tốt. Hình dưới đây làm rõ quan điểm này

PHP thêm nhiều giá trị vào mảng

 USA
    [1] => Canada
)
*/
 
?>

Ví dụ tìm giao giữa 2 mảng và trả về giá trị chung. Lưu ý rằng chúng tôi đã sử dụng hàm in_array trả về true nếu một quốc gia tồn tại trong $country_arr

Thí dụ. Tìm một tập hợp con các giá trị trong mảng PHP đủ điều kiện cho một điều kiện cụ thể

Thao tác này tương tự như một truy vấn nếu bạn đã quen thuộc với cơ sở dữ liệu. Bạn không biết cũng không sao vì nó có nghĩa là tra cứu dữ liệu dựa trên quy tắc hoặc tiêu chí nào đó. Dưới đây là một vài truy vấn có thể phù hợp với ngữ cảnh

  • Tìm kiếm các quốc gia có tên có hơn năm chữ cái
  • Tìm kiếm các quốc gia có tên bắt đầu từ chữ cái “A”
  • Tìm các quốc gia có tên kết thúc bằng chữ cái “A. ”

Đây chỉ là một vài ví dụ và bạn sẽ xử lý nhiều ví dụ như vậy nếu bạn đang làm việc trên một ứng dụng sử dụng nhiều dữ liệu theo thời gian thực. Hãy làm một ví dụ và tìm nhiều giá trị trong mảng PHP có tên có nhiều hơn năm chữ cái

PHP thêm nhiều giá trị vào mảng
 5)
    {
        array_push($resultant_arr,$country);
    }
}
 
print_r($resultant_arr);
 
/*
OUTPUT
Array
(
    [0] => Canada 
    [1] => Mexico 
    [2] => Germany
)
*/

?>

Tuyệt. Nó truy vấn mảng và tìm kiếm nhiều giá trị đáp ứng điều kiện truy vấn. Hãy khám phá thêm các tùy chọn để tìm nhiều giá trị trong mảng PHP

Tìm kiếm nhiều giá trị trong một mảng PHP bằng array_filter

PHP

Total Execution Time: '.$execution_time.' Mins';



//
// Test the array_intersect function
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    //It would contain the result of the array_filter intersection
    $intersection_arr = array_intersect($original, $toSearch);
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';



//
// Test the foreach loop method
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    
    foreach($toSearch as $search)
    {
        //If a country in the $search_values exist in $country_arr
        if(in_array($search,$original))
        {
           $final[] = $search;
        }
    }
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';
0 là một chức năng mạnh mẽ. Nó thường thực hiện tương đương với vòng lặp foreach và điều đó cũng xảy ra trong một lớp lót. Nó nhận một hàm gọi lại và dựa trên kiểu boolean trả về, nó quyết định giữ lại hoặc loại bỏ một giá trị.  

Chúng tôi sẽ đi thẳng vào các ví dụ và cố gắng làm lại các kịch bản chúng tôi đã làm trong phần trước. Cách tiếp cận này sẽ cho phép chúng tôi vẽ ra sự tương phản giữa hai tùy chọn

Tìm một tập hợp con cụ thể của các giá trị trong Mảng PHP với array_filter

 USA   
    [1] => Canada
)
*/
 
 
?>

Bạn có thể thấy rằng mã trở nên ngắn hơn và sạch hơn nhiều. Cách tiếp cận

Total Execution Time: '.$execution_time.' Mins';



//
// Test the array_intersect function
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    //It would contain the result of the array_filter intersection
    $intersection_arr = array_intersect($original, $toSearch);
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';



//
// Test the foreach loop method
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    
    foreach($toSearch as $search)
    {
        //If a country in the $search_values exist in $country_arr
        if(in_array($search,$original))
        {
           $final[] = $search;
        }
    }
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';
0 khá phức tạp so với vòng lặp foreach. Hãy cũng thử kịch bản thứ hai

Tìm một tập hợp con các giá trị đủ điều kiện cho một điều kiện cụ thể trong một mảng PHP bằng cách sử dụng array_filter

Đây là một ví dụ tương phản với ví dụ truy vấn mà chúng ta đã làm trong phần foreach

 5;
});
 
print_r($intersection_arr);
 
/*
OUTPUT
Array
(
    [1] => Canada
    [2] => Mexico
    [3] => Germany
)
*/
 
 
?>

Hãy xem nó thực hiện chức năng truy vấn tiện lợi như thế nào, ít rắc rối hơn nhiều. Bây giờ là lúc để chuyển sang tùy chọn thứ ba

Tìm nhiều giá trị trong một mảng PHP bằng hàm array_intersect

PHP cung cấp một hàm để giao hai mảng khác nhau. Hàm mà chúng ta sẽ gặp cô ấy là hàm

Total Execution Time: '.$execution_time.' Mins';



//
// Test the array_intersect function
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    //It would contain the result of the array_filter intersection
    $intersection_arr = array_intersect($original, $toSearch);
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';



//
// Test the foreach loop method
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    
    foreach($toSearch as $search)
    {
        //If a country in the $search_values exist in $country_arr
        if(in_array($search,$original))
        {
           $final[] = $search;
        }
    }
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';
2

Sự miêu tả

Tìm giao điểm của hai mảng

Chữ ký chức năng

Total Execution Time: '.$execution_time.' Mins';



//
// Test the array_intersect function
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    //It would contain the result of the array_filter intersection
    $intersection_arr = array_intersect($original, $toSearch);
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';



//
// Test the foreach loop method
//
//

$time_start = microtime(true); 

// Run 1000000 executions
for($i=0; $i<1000000; $i++){
    
    foreach($toSearch as $search)
    {
        //If a country in the $search_values exist in $country_arr
        if(in_array($search,$original))
        {
           $final[] = $search;
        }
    }
}



$time_end = microtime(true);


//dividing with 60 will give the execution time in minutes otherwise seconds
$execution_time = ($time_end - $time_start)/60;

//execution time of the script
echo 'Total Execution Time: '.$execution_time.' Mins';
3

Tranh luận

  • $array   – Mảng chính
  • $arrays – Mảng để so sánh các giá trị với

Loại trả lại

Hàm trả về mảng giao của đối số chính với tất cả các mảng trong đối số thứ hai

Tìm kiếm & Tìm một tập hợp con cụ thể của các giá trị trong một mảng PHP bằng cách sử dụng hàm array_intersect

 USA
    [1] => Canada
)
*/
 
 
?>

Gọi hàm nhanh tìm giao điểm giữa hai mảng. Tiện dụng phải không?

Các khuyến nghị cơ bản về PHP

Bài viết này là một phần nội dung của chúng tôi về Nguyên tắc cơ bản PHP. Nó bao gồm các khái niệm cốt lõi được xây dựng dựa trên nền tảng viết mã PHP chất lượng cao. Nếu bạn đang muốn phát triển khả năng phát triển PHP của mình. Kiểm tra các tài nguyên liên kết được đề xuất sau đây. Chúng tôi thực hiện hoa hồng nếu bạn chọn mua thông qua các liên kết của chúng tôi. Đó là một trong những cách giúp hỗ trợ sứ mệnh của chúng tôi tại FuelingPHP

Sách. Nguyên tắc cơ bản của phát triển web

PHP thêm nhiều giá trị vào mảng

Cuốn sách này dành cho bạn nếu bạn đang bắt đầu học cách xây dựng trang web. Nó không chỉ là một cuốn sách “giới thiệu về lập trình”. Bạn sẽ tìm hiểu các khái niệm và mẹo về những gì cần tạo ra một trang web chất lượng cao. Các trang web ngày nay không chỉ là văn bản trên màn hình. Chúng là những ứng dụng rất phức tạp khuyến khích trải nghiệm người dùng. Tìm hiểu các nguyên tắc cơ bản của phát triển web tốt với cuốn sách này

Kiểm tra nó trên Amazon

Sách. Lập trình bằng PHP (O'Reilly)

PHP thêm nhiều giá trị vào mảng

O'Reilly không cần giới thiệu. Họ là những nhà xuất bản hàng đầu khi nói đến sách về lập trình và công nghệ. Cuốn sách này phù hợp với thư viện rộng lớn của họ. Nếu bạn là người mới sử dụng ngôn ngữ PHP hoặc muốn giữ một tài liệu tham khảo vững chắc bên cạnh bạn. Tôi đánh giá cao cuốn sách này cho bộ sưu tập của bạn

Kiểm tra nó trên Amazon

Sách. Mẫu thiết kế trong PHP

PHP thêm nhiều giá trị vào mảng

Tôi đặc biệt giới thiệu cuốn sách này cho bất kỳ nhà phát triển web trình độ trung cấp nào. Nó sử dụng các lý thuyết và phương pháp hay nhất để viết mã chất lượng cao thông qua các mẫu thiết kế và áp dụng chúng vào PHP. Đó là một nguồn tài nguyên tuyệt vời để đưa sự nghiệp của bạn lên một tầm cao mới

Kiểm tra nó trên Amazon

Khóa học video. Nguyên tắc cơ bản về PHP (Pluralsight)

PHP thêm nhiều giá trị vào mảng

Bạn muốn học nhanh PHP? . Nó đi sâu vào các khái niệm, cấu trúc và “nền tảng” tốt của sự phát triển PHP. Nó bao gồm các tài nguyên tương tác và video chất lượng cao dạy cho bạn rất nhanh. Tôi thực sự khuyên bạn nên làm điều này nếu bạn đang bắt đầu hành trình PHP của mình

Nhấp vào đây để dùng thử miễn phí 10 ngày cho Pluralsight

Lộ trình học tập hoàn chỉnh. Phát triển web (Pluralsight)

PHP thêm nhiều giá trị vào mảng

Bạn chắc chắn nên kiểm tra lộ trình học tập này từ Pluralsight. Họ có một danh sách khổng lồ các khóa học video, đào tạo và các bài học tương tác về phát triển sự nghiệp phát triển web của bạn. Bạn có quyền truy cập vào toàn bộ thư viện gồm hàng trăm tài nguyên cho một lần đăng ký hàng tháng. Nó thực sự giống như Netflix cho sự nghiệp của bạn

Nhấp vào đây để xem chi tiết (bao gồm 10 ngày dùng thử miễn phí)

Tìm kiếm nhiều giá trị trong mảng PHP

Trong bài viết này, chúng ta đã thấy cách tìm kiếm nhiều giá trị trong mảng PHP. Chúng tôi đã khám phá quan điểm giao nhau và truy vấn của vấn đề và sử dụng ba tùy chọn khác nhau để tìm nhiều giá trị trong mảng PHP. Các tùy chọn mà chúng tôi đã khám phá bao gồm các hàm foreach loop, array_filter và array_intersection. Chúng tôi hy vọng bạn đã học được điều gì đó mới hôm nay. Hãy theo dõi để biết thêm nội dung thú vị liên quan đến PHP

Bạn muốn khám phá thêm các bài hướng dẫn PHP hữu ích?

Chúng tôi có nhiều bài viết thú vị liên quan đến PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về PHP

Cách lọc mảng đối tượng theo giá trị trong PHP

Cách lọc mảng đối tượng theo khóa trong PHP

Sự khác biệt giữa vòng lặp while và do-while trong PHP

PHP thêm nhiều giá trị vào mảng

Bài viết liên quan

PHP thêm nhiều giá trị vào mảng
Cách lọc mảng trong PHP với các ví dụ về mã array_filter()
PHP thêm nhiều giá trị vào mảng
15+ Ví dụ về mảng đối tượng trong mã PHP. Hướng dẫn năm 2023
PHP thêm nhiều giá trị vào mảng
Mảng kết hợp hoặc bản đồ băm trong PHP là gì
PHP thêm nhiều giá trị vào mảng
POST nội dung cURL từ tệp. Ví dụ về mã PHP ( JSON, CSV )


  • ← Đọc tệp CSV vào mảng liên kết với các tiêu đề PHP Ví dụ
  • Cách lọc một đối tượng mảng theo giá trị bằng các ví dụ mã PHP →

Viết mã tốt hơn nhanh hơn

Nhấp vào đây để nhận các bí mật hàng đầu 'Trở thành Rockstar PHP Dev trong 7 ngày' của chúng tôi được gửi đến hộp thư đến của bạn

đăng ký

PHP thêm nhiều giá trị vào mảng

Stephen Phép Lạ

Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích

Làm cách nào để thêm tất cả các giá trị vào mảng trong PHP?

PHP. Hàm array_sum() . Nó nhận vào một tham số mảng và trả về tổng của tất cả các giá trị trong đó. Đối số duy nhất của hàm là mảng cần tính tổng.

+= có hoạt động trên các mảng trong PHP không?

Toán tử + trong PHP khi được áp dụng cho mảng sẽ thực hiện công việc của mảng UNION . mảng $arr += mảng $arr1; .

Làm cách nào để thêm khóa và giá trị vào mảng hiện có trong PHP?

Trả lời. Sử dụng cú pháp Dấu ngoặc vuông [] php // Sample array $array = array("a" => "Apple", "b" => "Ball", "c" => "Cat"); // Adding key-value pairs to an array $array["d"] = "Dog"; $array["e"] = "Elephant"; print_r($array); ?>

Làm cách nào để thêm mảng vào mảng đa chiều trong PHP?

Bạn tạo một mảng nhiều chiều sử dụng cấu trúc array() , giống như tạo một mảng thông thường. Sự khác biệt là mỗi phần tử trong mảng bạn tạo chính là một mảng. Ví dụ. $myArray = mảng(mảng(giá trị1,giá trị2,giá trị3),mảng(giá trị4,giá trị5,giá trị6),mảng(giá trị7,giá trị8,giá trị9));