Warning: Cannot use a scalar value as an array in
arrays, php, scalar
Solution
You can try declaring the variable `$result`, as an array, before using it.
$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];
}
Problem
I am seeing the following error when executing my status script: ``` Warning: Cannot use a scalar value as an array in $result[$array[$i*2]] = $array[$i*2+1]; ``` What am I doing wrong? I have included the full code below: ``` <?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); ``` The line I mentioned is causing the errors. I have no idea what I am doing wrong here...