Wenn ich Ihre Frage richtig verstehe, ajreal hat bereits eine Lösung bereitgestellt auf diese StackOverflow-Frage . Zitiert:
Dadurch erhalten Sie die Größe Ihrer Abfrage in Byte, geteilt durch 1024 für Kilobyte und erneut für Megabyte.
Bearbeiten: Wenn Sie die vollständige Ergebnismenge trotzdem zurück zu PHP ziehen und deren Größe wissen möchten, können Sie sie in PHP berechnen, indem Sie so etwas verwenden:
<?php
$data = [
[
'item' => 'Apple',
'type' => 'fruit',
'in_stock' => true
],
[
'item' => 'Biscuits',
'type' => 'confectionery',
'in_stock' => false
],
[
'item' => 'Milk',
'type' => 'dairy',
'in_stock' => true
],
];
function get_array_size(&$array)
{
$size = 0;
foreach ($array as $key => $value) {
if (is_array($value)) {
$size += get_array_size($value);
} else if (is_string($value)) {
$size += strlen($value);
} else if (is_bool($value)) {
$size += 1;
} /* else if ( some other type ) {
} */
}
return $size;
}
echo get_array_size($data); // Outputs 43
Dies kann je nach Anwendungsfall für Sie akzeptabel sein oder nicht. Wenn Sie die physischen Bytes auf dem Kabel messen möchten, ist dies wahrscheinlich nicht genau genug.