Blockchain nodes like Geth or an RPC provider expose a JSON-RPC 2.0 HTTP endpoint; from PHP you build a JSON body like the object { jsonrpc: '2.0', method: 'eth_getBalance', params: [$address, 'latest'], id: 1 } and POST it with cURL, setting the Content-Type: application/json header. The response's 'result' field typically contains a hex-encoded value that must be converted (e.g. hexdec() or a bignum library) into a usable number, since Ethereum balances are returned in wei as hex strings.
Because PHP's native integers can't safely hold 256-bit blockchain values, libraries such as brick/math or bcmath's arbitrary-precision functions (bcadd, bcdiv) are used to perform accurate arithmetic on wei amounts, and errors in the JSON-RPC response's 'error' field must be checked before trusting 'result'.