3v4l.org

run code in 300+ PHP versions simultaneously
<?php function apiCall($url) { $data = null; // New prices uploaded if (get_transient("newPricesUploaded")) { // Get all cached API urls and delete them if (false !== ($transients = get_transient("apiCallTransients"))) { foreach ($transients as $transient) { delete_transient($transient); } delete_transient("apiCallTransients"); } // Reset set_transient("newPricesUploaded", 0, YEAR_IN_SECONDS); } if (false === ($data = get_transient(md5($url)))) { $data = file_get_contents($url); // Cache the request set_transient(md5($url), $data, 10800); // Update the apiCallTransients reference if (false !== ($transients = get_transient("apiCallTransients"))) { $transients[] = md5($url); } else { $transients = array(md5($url)); } set_transient("apiCallTransients", $transients, YEAR_IN_SECONDS); } return $data; }

preferences:
40.19 ms | 402 KiB | 5 Q