php - Advertencia: no se puede usar un valor escalar como una matriz en
arrays (2)
Archivo xdebug en la ruta de la sesión c: / xammp / temp / xdebug ___. txt con 2GB, elimine y resuelva esto, esto me funciona
Estoy viendo el siguiente error al ejecutar mi script de estado:
Warning: Cannot use a scalar value as an array in
$result[$array[$i*2]] = $array[$i*2+1];
¿Qué estoy haciendo mal? He incluido el código completo a continuación:
<?php
// Set the host and port
$host = "ip_goes_here";
$port = port_goes_here;
// Open the socket connection to the server
$fp = fsockopen("udp://".$host, $port);
// Set the string to send to the server
$string = "/xff/xff/xff/xffgetinfo";
// Set the socket timeout to 2 seconds
socket_set_timeout($fp, 2);
// Actually send the string
fwrite($fp, $string);
// Read the first 18 bytes to get rid of the header and do the error checking here
if(!fread($fp, 18)) {
die("Oh God, the pain!");
}
// Get the status of the socket, to be used for the length left
$status = socket_get_status($fp);
// Read the rest
$info = fread($fp, $status[''unread_bytes'']);
// Explode the result of the fread into another variable
$array = explode("//", $info);
// Loop through and create a result array, with the key being even, the result, odd
for($i = 0; $i < count($array)/2; $i++) {
$result[$array[$i*2]] = $array[$i*2+1];
}
// Print the result for error checking
print_r($result);
// Close the file pointer
fclose($fp);
La línea que mencioné está causando los errores. No tengo idea de lo que estoy haciendo mal aquí ...
Puede intentar declarar la variable $result
, como una matriz, antes de usarla.
$result = array();
// Loop through and create a result array, with the key being even, the result, odd
for($i = 0; $i < count($array)/2; $i++) {
$result[$array[$i*2]] = $array[$i*2+1];
}