Mảng đối tượng PHP thành mảng giá trị

Nếu bạn có một danh sách các mục (ví dụ: danh sách tên ô tô), việc lưu trữ ô tô trong các biến đơn lẻ có thể trông như thế này

hãy để xe1 = "Saab";
cho car2 = "Volvo";
cho xe3 = "BMW";

Tuy nhiên, nếu bạn muốn đi vòng qua các ô tô và tìm một ô tô cụ thể thì sao?

Giải pháp là một mảng

Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham chiếu đến một số chỉ mục


Tạo một mảng

Sử dụng một mảng chữ là cách dễ nhất để tạo một mảng JavaScript

cú pháp

const tên_mảng = [mục1,mục2,. ];

Một thực tế phổ biến là khai báo mảng với từ khóa const

Tìm hiểu thêm về const với mảng trong chương. Mảng JS Const

Dấu cách và ngắt dòng không quan trọng. Một khai báo có thể trải rộng trên nhiều dòng

Bạn cũng có thể tạo một mảng rồi cung cấp các phần tử

Ví dụ

const xe = [];
xe ô tô[0]= "Saab";
xe[1]= "Volvo";
ô tô[2]= "BMW";

Tự mình thử »


Sử dụng Từ khóa JavaScript mới

Ví dụ sau cũng tạo một Array và gán giá trị cho nó

Hai ví dụ trên làm hoàn toàn giống nhau

Không cần sử dụng new Array()

Để đơn giản, dễ đọc và tốc độ thực thi, hãy sử dụng phương thức ký tự mảng



Truy cập các phần tử mảng

Bạn truy cập một phần tử mảng bằng cách tham khảo số chỉ mục

Ghi chú. Chỉ mục mảng bắt đầu bằng 0

[0] là phần tử đầu tiên. [1] là phần tử thứ hai


Thay đổi một phần tử mảng

Câu lệnh này thay đổi giá trị của phần tử đầu tiên trong cars


Truy cập toàn bộ mảng

Với JavaScript, toàn bộ mảng có thể được truy cập bằng cách tham khảo tên mảng

Ví dụ

const xe = ["Saab", "Volvo", "BMW"];
tài liệu. getElementById("bản trình diễn"). InternalHTML = ô tô;

Tự mình thử »


Mảng là đối tượng

Mảng là một loại đối tượng đặc biệt. Toán tử typeof trong JavaScript trả về "đối tượng" cho mảng

Tuy nhiên, mảng JavaScript được mô tả tốt nhất là mảng

Mảng sử dụng số để truy cập "phần tử" của nó. Trong ví dụ này, person[0] trả về John

Các đối tượng sử dụng tên để truy cập "thành viên" của nó. Trong ví dụ này, person.firstName trả về John


Các phần tử mảng có thể là đối tượng

Biến JavaScript có thể là đối tượng. Mảng là loại đối tượng đặc biệt

Do đó, bạn có thể có các biến thuộc các loại khác nhau trong cùng một Mảng

Bạn có thể có các đối tượng trong một Mảng. Bạn có thể có các chức năng trong một Mảng. Bạn có thể có các mảng trong một Mảng

Trước khi chúng ta đến kịch bản phức tạp hơn của việc lọc các mảng đối tượng theo giá trị. Hãy trình bày cách thực hiện một bộ lọc mảng PHP nói chung. Điều này khá đơn giản để thực hiện bằng cách sử dụng hàm array_filter. Bạn chuyển vào mảng ban đầu làm tham số đầu tiên và sau đó một hàm làm tham số thứ hai. Hàm array_filter sử dụng hàm đã truyền trên mỗi phần tử trong mảng để xác định xem nó có được trả về hay không. Bất kỳ thứ gì được trả về đúng (không phải null hoặc false) sẽ được đẩy vào mảng được lọc mới. Hãy xem ví dụ bên dưới để thực hiện lọc nhanh một mảng trong PHP theo giá trị


// Let's setup a scenario where we need to filter an array by values with cows.
$sampleArray = [0 => "horse", 1 => "cow", 2 => "pig", 3 => "cow"];

$filteredArray = array_filter(
    $sampleArray, 
    function($val){ 
      return $val === 'cow';
   });

// Let's var_dump the $filteredArray.
// You will see the results where you've filtered the array by value.
var_dump($filteredArray);

Lọc mảng đối tượng theo ví dụ mã giá trị

Đoạn mã sau đây là một cách nhanh chóng để lọc mảng đối tượng theo giá trị bằng cách sử dụng hàm array_filter. Chúng tôi khuyên bạn nên sử dụng phương pháp này cho hầu hết các trường hợp sử dụng lọc mảng. Vui lòng sử dụng đoạn mã này và sau đó làm theo để được giải thích thêm



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
Mảng đối tượng PHP thành mảng giá trị

Tìm hiểu sâu hơn. lọc mảng PHP bằng hàm array_filter

Bạn vẫn muốn trở nên lập dị với việc lọc các mảng PHP? . Kiểm tra một số bài viết có giá trị cao khác của chúng tôi về chủ đề này

  • Lọc mảng đối tượng theo khóa
  • Lọc mảng nhiều chiều theo khóa và giá trị
  • Cách lọc mảng kết hợp theo giá trị khóa

Mảng đối tượng trong Lộ trình học tập PHP

  • Mảng đối tượng trong PHP. Tạo, Sắp xếp, Lọc, Hợp nhất, Tìm kiếm, v.v.
  • Tạo một mảng các đối tượng trong PHP
  • Cách sắp xếp mảng đối tượng theo thuộc tính trong PHP
  • Cách xáo trộn một mảng các đối tượng trong PHP
  • Cách lọc một mảng đối tượng theo giá trị trong PHP
  • Cách lọc mảng đối tượng theo khóa trong PHP

Cài đặt. Đối tượng & Lớp để lọc đối tượng mảng theo giá trị

từ chối trách nhiệm

  • Nếu bạn không biết lớp và đối tượng là gì, hãy xem phần giải thích chi tiết trong bài viết này
  • Nếu bạn biết cú pháp lớp và đối tượng trong PHP, bạn có thể điều hướng trực tiếp đến các tùy chọn.  

Giới thiệu

Trong bài viết trước của chúng tôi, chúng tôi đã xem cách lọc một mảng các đối tượng theo khóa trong PHP. Sau đây chúng ta sẽ xem phần quan trọng tiếp theo về cách lọc mảng đối tượng theo giá trị trong PHP. Như chúng tôi đã nhiều lần đề cập về khóa và giá trị cũng như cách mảng kết hợp giữ các cặp khóa và giá trị. Không có gì lạ khi lặp qua các giá trị của một mảng và lọc ra một số trong số chúng

Mảng đối tượng PHP thành mảng giá trị

Các tùy chọn mà chúng ta sẽ thấy hoạt động tốt như nhau đối với các loại mảng. Tuy nhiên, chúng tôi dự định sử dụng các đối tượng để chạm vào một số khái niệm OOP cơ bản trong PHP. Vì vậy, trước khi chúng ta bắt đầu, đây là bản tóm tắt về các lớp và đối tượng trông như thế nào trong PHP
Chúng ta đã tìm hiểu sâu về các lớp và đối tượng trong bài viết trước

Lớp PHP

Mảng đối tượng PHP thành mảng giá trị

Một lớp là một kế hoạch chi tiết cho các đối tượng. Lớp PHP bắt đầu bằng từ khóa lớp theo sau là tên lớp. Dấu ngoặc đơn bao quanh các thuộc tính, hàm tạo và phương thức của lớp. Đây là ví dụ mà chúng tôi sẽ sử dụng trong suốt bài viết

class Employee
{
     //Attributes
    public $id;
    public $name;
    public $salary;
 
 
    //Constructor
    function __construct($id,$name,$salary)
    {
        $this->id = $id;
        $this->name = $name;
        $this->salary = $salary;
    }
 
    //Methods 
    function get_id()
    {
        return $this->id;
    }
 
    function get_name()
    {
        return $this->name;
    }
 
    function get_salary()
    {
        return $this->salary;
    }
 
    function set_id($id)
    {
        $this->id = $id;
    }
 
    function set_name($name)
    {
        $this->name = $name;
    }
 
    function set_salary($salary)
    {
        $this->salary = $salary;
    }
 
 
}

Lớp ở đây đại diện cho một thực thể Employee với các thuộc tính (Id, Name, Salary), một hàm tạo và các phương thức, chủ yếu là getters và setters. Các đối tượng của lớp Nhân viên sẽ có các thuộc tính tương tự nhau và mỗi đối tượng này sẽ đại diện cho một nhân viên. Chúng ta sẽ thấy điều đó tiếp theo

Đối tượng PHP

Các đối tượng là các thể hiện của một lớp và các đối tượng của cùng một lớp có các thuộc tính và thuộc tính tương tự nhau. Dưới đây là một vài trường hợp của lớp Employee

$employee_1 = new Employee('1',"Rachel",15000);
$employee_2 = new Employee('2',"Anna",14000);
$employee_3 = new Employee('3',"Robert",13000);
$employee_4 = new Employee('4',"Micheal",12000);
$employee_5 = new Employee('5',"Karen",11000);

Sau phần tóm tắt nhanh, hãy xem những tùy chọn nào có sẵn để lọc mảng đối tượng theo giá trị trong PHP

Các giải pháp. Lọc mảng đối tượng theo giá trị

lựa chọn 1. vòng lặp foreach để Lọc mảng đối tượng theo giá trị

Chúng tôi đã sử dụng một



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
0 để lặp lại các mảng. Trong ví dụ này, chúng tôi sẽ sử dụng


// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
0 để lặp lại các giá trị và lọc những nhân viên có mức lương cao hơn 12.000. Đây là ví dụ

//The array that will have the filtered results.
$filtered_arr = [];
 
// A foreach loop to iterate over key value pairs in the associative array.
foreach($employees_arr as $name=>$employee)
{
    //If the salary is more than 12,0000.
    if($employee->get_salary() > 12000)
    {
        //Push to filtered array
        array_push($filtered_arr,$employee);
    }
}
 
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => Employee Object   
        (
            [id] => 1        
            [name] => Rachel 
            [salary] => 15000
        )
 
    [1] => Employee Object   
        (
            [id] => 2        
            [name] => Anna   
            [salary] => 14000
        )
 
    [2] => Employee Object
        (
            [id] => 3
            [name] => Robert
            [salary] => 13000
        )
 
)
*/

Tuyệt vời. Chúng tôi đã lọc những nhân viên có mức lương trên 12.000 USD. ____1_______0 mang lại cho chúng ta rất nhiều lợi thế với các con trỏ lấy khóa và giá trị trên mỗi lần lặp. Logic để lọc phụ thuộc vào vấn đề hiện tại, nhưng mã gần như vẫn giữ nguyên.  

Tiếp theo, chúng ta sẽ xem hàm



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
3 trong PHP. Nó nhận một hàm gọi lại và lọc một mảng dựa trên logic trong hàm gọi lại

Lựa chọn 2. hàm array_filter để lọc mảng đối tượng theo giá trị



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
4là một hàm phổ biến giúp lọc ra một mảng dựa trên giá trị trả về của hàm gọi lại. Chúng tôi đã thấy


// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
3 đang hoạt động trong nhiều bài viết. Đây là bản tóm tắt chức năng trước khi chúng ta xem một ví dụ

Sự miêu tả

Lọc các phần tử mảng bằng hàm gọi lại

Chữ ký chức năng



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
6


// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
7


// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
8

Tranh luận

  • $array – Mảng để lọc
  • $callback – Hàm do người dùng định nghĩa
  • $mode – Cờ xác định tham số của hàm gọi lại

Ghi chú

$mode chấp nhận các giá trị cờ sau.  

  • ARRAY_FILTER_USE_KEY – chuyển khóa làm đối số duy nhất để gọi lại thay vì giá trị
  • ARRAY_FILTER_USE_BOTH – chuyển cả giá trị và khóa làm đối số để gọi lại thay vì giá trị

Theo mặc định, hàm chỉ chuyển các giá trị chính cho hàm gọi lại

Loại trả lại

Hàm trả về một mảng đã lọc

Ví dụ

Chúng ta sẽ làm lại ví dụ tương tự như đã làm với vòng lặp foreach. Tuy nhiên, chúng ta sẽ sử dụng hàm



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
3 ở đây

//Array_filter to filter employee whose salaries are more than 12,000.
$filtered_arr = array_filter(
  $employees_arr,function($employee){ 
    return $employee->get_salary() > 12000;
  }
);
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => Employee Object   
        (
            [id] => 1        
            [name] => Rachel 
            [salary] => 15000
        )
 
    [1] => Employee Object   
        (
            [id] => 2        
            [name] => Anna   
            [salary] => 14000
        )
 
    [2] => Employee Object
        (
            [id] => 3
            [name] => Robert
            [salary] => 13000
        )
 
)
*/

So sánh hai tùy chọn, tùy chọn này ngắn gọn hơn vì mã thực tế trở nên rõ ràng và ngắn hơn. Bạn cũng có thể khai báo một chức năng bên ngoài và chuyển nó tới



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
3.  

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

Mảng đối tượng PHP thành mảng giá trị

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)

Mảng đối tượng PHP thành mảng giá trị

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

Mảng đối tượng PHP thành mảng giá trị

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)

Mảng đối tượng PHP thành mảng giá trị

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)

Mảng đối tượng PHP thành mảng giá trị

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í)

Lọc các mảng đối tượng PHP theo giá trị

Chúng ta đã xem bản tóm tắt cú pháp lớp và đối tượng trong PHP và khám phá hai tùy chọn để lọc mảng đối tượng theo giá trị trong PHP. Tùy chọn đầu tiên sử dụng



// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
0, trong khi tùy chọn thứ hai sử dụng hàm


// Dummy data just to populate function.
// I'm creating a json string as its an efficient way to create an array of objects.
// You can ignore this part and replace $objectsArray with your array.
$content = '[{"type": "cat", "name": "charles"}, {"type": "dog", "name": "sam"}, {"type": "donkey", "name": "frank"}]';

$objectsArray = json_decode($content);

//Array_filter to filter objects with cat as type
// This is where the work is done.
$filtered_arr = array_filter(
   $objectsArray,
   function($obj){ 
      return $obj->type === 'cat';
   });
 
//Gets the filtered array.
print_r($filtered_arr);
 
 
/*
OUTPUT
Array
(
    [0] => stdClass   
        ( 
            [name] => charles
            [type] => cat
        )
)
*/
3. Tùy chọn thứ hai làm cho mã rõ ràng và ngắn hơn và tập trung vào logic bằng cách lấy hàm gọi lại làm đối số

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 khóa trong PHP

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

Khi nào nên sử dụng vòng lặp while và foreach trong PHP

Mảng đối tượng PHP thành mảng giá trị

Bài viết liên quan

Mảng đối tượng PHP thành mảng giá trị
Cách lọc mảng trong PHP với các ví dụ về mã array_filter()
Mảng đối tượng PHP thành mảng giá trị
15+ Ví dụ về mảng đối tượng trong mã PHP. Hướng dẫn năm 2023
Mảng đối tượng PHP thành mảng giá trị
10 ví dụ về mã yêu cầu HTTP cURL hàng đầu năm 2023
Mảng đối tượng PHP thành mảng giá trị
POST nội dung cURL từ tệp. Ví dụ về mã PHP ( JSON, CSV )


  • ← Tìm kiếm nhiều giá trị trong mảng PHP. Ví dụ về mã 2023
  • Cách lọc mảng đối tượng theo khóa bằng mã PHP Ví dụ →

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ý

Mảng đối tượng PHP thành mảng giá trị

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