


Dalam kod PHP, print_r () boleh mengeluarkan data secara normal, sementara kembali json () kembali kosong. Apa sebabnya?
PHP print_r boleh mengeluarkan data secara normal, tetapi kembali json () dipaparkan sebagai kosong. Apa sebabnya?
Dalam penerangan masalah, pemaju berjaya mencetak kandungan pembolehubah respons $ menggunakan print_r ($ respons), menunjukkan bahawa pembolehubah mengandungi data yang sah. Walau bagaimanapun, apabila menggunakan Json Return ($ respons), hasilnya kosong. Coretan kod menunjukkan cara menggunakan otsclient-> carian () untuk mendapatkan data, dan kemudian gunakan print_r () dan kembali json () untuk memproses hasil masing-masing.
Masalah utama ialah fungsi JSON () digunakan dalam kod, yang bukan fungsi standard yang digunakan dalam pengekodan JSON dalam PHP. Fungsi pengekodan JSON PHP adalah json_encode (), bukan json (). Fungsi JSON () mungkin tidak hadir, atau ditakrifkan dalam perpustakaan fungsi tersuai, tetapi fungsinya berbeza daripada JSON_ENCODE (), mengakibatkan ketidakupayaan untuk mengekodkan pembolehubah tindak balas $ dengan betul.
Oleh itu, penyelesaiannya adalah untuk menggantikan JSON (respons $ respons) dengan pulangan JSON_ENCODE ($ respons). Fungsi JSON_ENCODE () menukarkan array atau objek PHP ke dalam rentetan dalam format JSON, supaya ia dapat dihuraikan dengan betul oleh bahagian depan. Jika masalah masih berlaku, periksa sama ada struktur data pembolehubah tindak balas $ sesuai untuk pengekodan JSON, seperti jika ia mengandungi sumber atau objek yang tidak dapat dikodkan. Di samping itu, ia juga disyorkan untuk menyemak jenis data yang dikembalikan oleh kaedah $ otsclient-> carian () untuk memastikan ia adalah array atau objek PHP, bukan jenis data lain.
Kod yang diubahsuai adalah seperti berikut:
$ request_info = array ( 'table_name' => 'x_net_worth', 'index_name' => 'x_net_worth_index', 'Search_Query' => array ( 'Offset' => 0, 'had' => 100, 'get_total_count' => benar, 'pertanyaan' => array ( 'query_type' => querytypeconst :: match_all_query )) 'sort' => array ( Array ( 'field_sort' => array ( 'field_name' => 'networth_timestamp', 'Order' => SortOrderConst :: sort_order_desc ) )) )) 'token' => null, )) 'columns_to_get' => array ( 'return_type' => ColumnReturnTypeConst :: return_all, ) ); $ response = $ otsclient-> carian ($ request_info); print_r ($ respons); // Dapatkan data secara normal. kembali json_encode ($ respons); // data json harus dikembalikan.
Dengan menggunakan json_encode (), masalah pulangan kosong harus diselesaikan. Sekiranya masalah berterusan, anda perlu menyemak kandungan pembolehubah tindak balas $ dan nilai pulangan kaedah OTSClient-> Search ().
Atas ialah kandungan terperinci Dalam kod PHP, print_r () boleh mengeluarkan data secara normal, sementara kembali json () kembali kosong. Apa sebabnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Isu dan penyelesaian keizinan untuk pemasangan minio di bawah sistem CentOS Apabila menggunakan minio di persekitaran CentOS, isu kebenaran adalah masalah biasa. Artikel ini akan memperkenalkan beberapa masalah kebenaran umum dan penyelesaiannya untuk membantu anda menyelesaikan pemasangan dan konfigurasi minio dengan lancar. Ubah suai akaun lalai dan kata laluan: Anda boleh mengubah suai nama pengguna dan kata laluan lalai dengan menetapkan pembolehubah persekitaran minio_root_user dan minio_root_password. Selepas pengubahsuaian, memulakan semula perkhidmatan minio akan berkuatkuasa. Konfigurasikan keizinan akses baldi: Menetapkan baldi kepada orang ramai akan menyebabkan direktori dilalui, yang menimbulkan risiko keselamatan. Adalah disyorkan untuk menyesuaikan dasar akses baldi. Anda boleh menggunakan minio

PHPMyAdmin boleh digunakan untuk membuat pangkalan data dalam projek PHP. Langkah -langkah khusus adalah seperti berikut: Log masuk ke phpmyadmin dan klik butang "Baru". Masukkan nama pangkalan data yang ingin anda buat, dan perhatikan bahawa ia mematuhi peraturan penamaan MySQL. Tetapkan set aksara, seperti UTF-8, untuk mengelakkan masalah.

Memori Redis melonjak termasuk: jumlah data yang terlalu besar, pemilihan struktur data yang tidak betul, masalah konfigurasi (seperti tetapan MaxMemory terlalu kecil), dan kebocoran memori. Penyelesaian termasuk: penghapusan data yang telah tamat tempoh, menggunakan teknologi mampatan, memilih struktur yang sesuai, menyesuaikan parameter konfigurasi, memeriksa kebocoran memori dalam kod, dan kerap memantau penggunaan memori.

Langkah -langkah berikut boleh digunakan untuk menyelesaikan masalah yang tidak dapat disambungkan oleh Navicat ke pangkalan data: periksa sambungan pelayan, pastikan pelayan berjalan, alamat dan port dengan betul, dan firewall membolehkan sambungan. Sahkan maklumat log masuk dan sahkan bahawa nama pengguna, kata laluan dan kebenaran adalah betul. Semak sambungan rangkaian dan menyelesaikan masalah rangkaian seperti kegagalan penghala atau firewall. Lumpuhkan sambungan SSL, yang mungkin tidak disokong oleh beberapa pelayan. Semak versi pangkalan data untuk memastikan versi Navicat serasi dengan pangkalan data sasaran. Laraskan tamat masa sambungan, dan untuk sambungan jauh atau lebih perlahan, tingkatkan waktu tamat masa sambungan. Penyelesaian lain, jika langkah -langkah di atas tidak berfungsi, anda boleh cuba memulakan semula perisian, menggunakan pemacu sambungan yang berbeza, atau merujuk kepada pentadbir pangkalan data atau sokongan navicat rasmi.

Masalah dan penyelesaian biasa untuk konfigurasi sistem fail diedarkan Hadoop (HDFS) di bawah CentOS Apabila membina kluster HadoophDFS di CentOS, beberapa kesilapan biasa boleh menyebabkan kemerosotan prestasi, kehilangan data dan juga kelompok tidak dapat dimulakan. Artikel ini meringkaskan masalah umum dan penyelesaian mereka untuk membantu anda mengelakkan perangkap ini dan memastikan kestabilan dan operasi yang cekap dari kelompok HDFS anda. Ralat Konfigurasi Rack-Aware: Masalah: Maklumat yang menyedari rak tidak dikonfigurasi dengan betul, mengakibatkan pengagihan replika blok data yang tidak sekata dan peningkatan beban rangkaian. Penyelesaian: Semak semula konfigurasi rak-aware dalam fail hdfs-site.xml dan gunakan hdfsdfsadmin-printtopo

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Pemecahan ingatan redis merujuk kepada kewujudan kawasan bebas kecil dalam ingatan yang diperuntukkan yang tidak dapat ditugaskan semula. Strategi mengatasi termasuk: Mulakan semula Redis: Kosongkan memori sepenuhnya, tetapi perkhidmatan mengganggu. Mengoptimumkan struktur data: Gunakan struktur yang lebih sesuai untuk Redis untuk mengurangkan bilangan peruntukan dan siaran memori. Laraskan parameter konfigurasi: Gunakan dasar untuk menghapuskan pasangan nilai kunci yang paling kurang baru-baru ini. Gunakan mekanisme kegigihan: sandarkan data secara teratur dan mulakan semula redis untuk membersihkan serpihan. Pantau penggunaan memori: Cari masalah tepat pada masanya dan ambil langkah.
