आप शायद एक बहुत बड़े डेटासेट को एन्कोड कर रहे हैं। आप एक बड़े ऑपरेशन में एन्कोड करने के बजाय प्रत्येक पंक्ति, एक पंक्ति को एक बार में एन्कोड कर सकते हैं।
<?php
require('../../admin/db_login.php');
$db=mysql_connect($host, $username, $password) or die('Could not connect');
mysql_select_db($db_name, $db) or die('');
$result = mysql_query("SELECT * from listinfo") or die('Could not query');
if(mysql_num_rows($result)){
echo '{"testData":[';
$first = true;
$row=mysql_fetch_assoc($result);
while($row=mysql_fetch_row($result)){
// cast results to specific data types
if($first) {
$first = false;
} else {
echo ',';
}
echo json_encode($row);
}
echo ']}';
} else {
echo '[]';
}
mysql_close($db);
इस तरह, प्रत्येक कॉल json_encode()
केवल एक बड़े के बजाय एक छोटे सरणी को एन्कोड करता है। अंतिम परिणाम एक जैसा है। यह IMO समाधान है जो कम मेमोरी का उपयोग करेगा।