Chuyển đổi truy vấn thành mảng php

Một số tài liệu trên DB có trường 'Assunto', tôi muốn đếm số lần xuất hiện các giá trị khác nhau cho 'Assunto' (bỏ qua khi trường không tồn tại, vì vậy tôi đã thực hiện truy vấn này

$result = $collection->aggregate([
[ '$match' => ['Assunto' => ['$nin' => [null]]] ],
[ '$sortByCount'=> '$Assunto' ],
[ '$sort' => ['Count' => -1] ]
]);

Truy vấn hoạt động bình thường, vấn đề của tôi là do trả về từ tổng hợp. Từ tài liệu, nó trả về “Một đối tượng MongoDB\Driver\Cursor hoặc ArrayIterator”

Cũng từ tài liệu typeMap. "Không bắt buộc. Bản đồ loại để áp dụng cho con trỏ, xác định cách tài liệu BSON được chuyển đổi thành giá trị PHP. Mặc định cho bản đồ loại của bộ sưu tập”

Tôi đã đọc các giải pháp trên Stack Overflow về việc thay đổi typeMap của bộ sưu tập để chuyển đổi con trỏ thành một mảng nhưng tôi không thể làm cho chúng hoạt động cho trường hợp của mình, theo hiểu biết của tôi, tôi có nhiều MongoDB\Driver\Cursor và nó chỉ trả về cái đầu tiên

Giải pháp tiếp theo từ Stack Overflow là mã hóa con trỏ thành JSON rồi giải mã nó thành một mảng. Như thế này

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));

Vấn đề là điều này tạo ra một Đối tượng stdClass giống như thế này

Chuyển đổi truy vấn thành mảng php

Ảnh chụp màn hình (206)987×1252 44. 2KB

Vì vậy, để chuyển đổi stdClass này thành một mảng, tôi cần thực hiện lại mã tương tự. (xin lỗi vì hình ảnh bị mờ, xảy ra sau khi thay đổi kích thước)

//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);

Chuyển đổi truy vấn thành mảng php

Ảnh chụp màn hình (207)1012×1243 39 KB

Điều này tạo ra đầu ra dự kiến. Nhưng làm tất cả quá trình này có vẻ như là một sự lãng phí. Cách thích hợp để chuyển đổi các giá trị được trả về từ tổng hợp thành và mảng trong trường hợp của tôi là gì?

Đưa ra một cơ sở dữ liệu chứa một số dữ liệu và nhiệm vụ là liên kết một mảng PHP với nó bằng cách sử dụng toán tử MySQL IN(). Ở đây chúng ta sẽ xem xét một chương trình thực hiện điều cần thiết bằng cách lấy một mảng PHP trong truy vấn và diễn giải nó

Toán tử SQL IN(). Toán tử SQL IN() cho phép bạn chuyển nhiều đối số trong mệnh đề where. Nó thường được sử dụng làm tốc ký cho nhiều câu lệnh OR

cú pháp

SELECT <column_name(s)>
FROM <table_name>
WHERE <column_name> IN( value1, value2, ...);

Hàm nổ PHP (). Chúng ta sẽ sử dụng hàm implode() được xác định trước trong PHP để xử lý mảng. Hàm implode() nối các phần tử mảng bằng một chuỗi. Nó yêu cầu hai tham số để thực hiện cùng một. Đầu tiên là chuỗi sẽ được sử dụng để nối các phần tử mảng cũng có thể được gọi là chuỗi keo. Vì nó sẽ được sử dụng để dán các phần tử lại với nhau. Thứ hai rõ ràng là mảng mà thao tác được yêu cầu thực hiện

cú pháp

string implode(separator, array)

Ràng buộc mảng. Theo nhu cầu của chúng tôi, chúng tôi chỉ cần liên kết mảng PHP với mệnh đề IN() và để có được chức năng này, trước tiên chúng tôi cần chuyển đổi mảng đã cho thành dạng được chấp nhận bởi mệnh đề IN(), đây là công việc được thực hiện bởi . Ngoài ra, hãy nhớ rằng bằng cách chuyển mảng của chúng ta tới hàm, chúng ta chỉ chuyển đổi mảng ở dạng được IN() chấp nhận nhưng nó vẫn là cùng một mảng

Chương trình sau đây sẽ giúp bạn hiểu khái niệm này một cách thực tế và kỹ lưỡng hơn

Cơ sở dữ liệu đã sử dụng. Ở đây, chúng ta sẽ sử dụng một cơ sở dữ liệu (tên cơ sở dữ liệu. Geeks) để liên kết một mảng với điều kiện IN() trong PHP

Tên bảng. GFG Tên bảng GFG chứa các thông tin sau

IDNAME1MEGAN2GINA3DARVY4DEBBY5MICHEL6RACHEL7EVA8SAM9ZACK10TIM

chương trình 1. Đoạn mã sau lấy mảng ID PHP từ bảng GFG và chuyển nó tới toán tử IN() để lấy tên, tương ứng với ID đã cho




string implode(separator, array)
7

string implode(separator, array)
8

string implode(separator, array)
9

string implode(separator, array)
0
string implode(separator, array)
1____52
string implode(separator, array)
0

string implode(separator, array)
1
string implode(separator, array)
1____43
string implode(separator, array)
0

string implode(separator, array)
5
string implode(separator, array)
1____47
string implode(separator, array)
0

string implode(separator, array)
9
string implode(separator, array)
1____131
string implode(separator, array)
0

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
34

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
35

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
36

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
37
string implode(separator, array)
1____139
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
10

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
12

//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
13

//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
14
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
15
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
16
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
17
//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
37
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
19

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

string implode(separator, array)
71
string implode(separator, array)
1____473
string implode(separator, array)
74
string implode(separator, array)
0
string implode(separator, array)
76

string implode(separator, array)
77
string implode(separator, array)
1____217
string implode(separator, array)
5
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
17
string implode(separator, array)
9
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
19

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

string implode(separator, array)
85

string implode(separator, array)
86
string implode(separator, array)
87

_______488____489____490

string implode(separator, array)
91

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

string implode(separator, array)
93
string implode(separator, array)
1____471
string implode(separator, array)
96
string implode(separator, array)
86
//Convert stdClass to Array
$array=json_decode(json_encode($objects),true);
19

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

string implode(separator, array)
00
string implode(separator, array)
01____493
string implode(separator, array)
03

string implode(separator, array)
77
string implode(separator, array)
05
string implode(separator, array)
01
string implode(separator, array)
07
string implode(separator, array)
1
string implode(separator, array)
93
string implode(separator, array)
10

string implode(separator, array)
88
string implode(separator, array)
12
string implode(separator, array)
07_______514
string implode(separator, array)
15
string implode(separator, array)
16____517
string implode(separator, array)
18

string implode(separator, array)
19
string implode(separator, array)
20
string implode(separator, array)
21

string implode(separator, array)
77
string implode(separator, array)
12
string implode(separator, array)
24
string implode(separator, array)
0

string implode(separator, array)
26

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

_______471____529

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
33

string implode(separator, array)
01

đầu ra

//Convert $result, a MongoDB\Driver\Cursor to array()
$objects = json_decode(json_encode($result->toArray(),true));
3

chương trình 2. Đoạn mã sau sử dụng cùng một bảng thông tin nhưng truy xuất ID tương ứng với các tên được cung cấp trong mảng

Làm cách nào để chuyển đổi truy vấn SQL thành mảng PHP?

Làm cách nào để chuyển đổi kết quả sql thành mảng PHP? .
$result = "chọn * từ bảng ngẫu nhiên trong đó id = 1";
$hàng = [];
while($row = mysqli_fetch_array($result))
$row[] = $row;

Làm cách nào chúng ta có thể lấy dữ liệu từ cơ sở dữ liệu và lưu trữ trong mảng trong PHP?

Dữ liệu có thể được tìm nạp từ các bảng MySQL bằng cách thực thi câu lệnh SQL SELECT thông qua hàm mysql_query của PHP . Bạn có một số tùy chọn để lấy dữ liệu từ MySQL. Tùy chọn được sử dụng thường xuyên nhất là sử dụng hàm mysql_fetch_array(). Hàm này trả về hàng dưới dạng một mảng kết hợp, một mảng số hoặc cả hai.