$_post is not understanding json values send through curl in php code example

Example: how to do a post with json body curl php

// API URL$url = 'http://www.example.com/api';// Create a new cURL resource$ch = curl_init($url);// Setup request to send json via POST$data = array(    'username' => 'codexworld',    'password' => '123456');$payload = json_encode(array("user" => $data));// Attach encoded JSON string to the POST fieldscurl_setopt($ch, CURLOPT_POSTFIELDS, $payload);// Set the content type to application/jsoncurl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));// Return response instead of outputtingcurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Execute the POST request$result = curl_exec($ch);// Close cURL resourcecurl_close($ch);