Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,890 questions

51,817 answers

573 users

How to call a given function only once in PHP

1 Answer

0 votes
function call_once($func) {
    static $called = []; // Use an array to track calls for different functions
    $funcName = is_string($func) ? $func : spl_object_hash($func); // Get unique identifier for the function

    if (!isset($called[$funcName])) {
        $called[$funcName] = true;
        return $func();
    } else {
        return null;
    }
}

function example() {
    return "example() function"; 
}

$result1 = call_once('example'); // Pass the function name as a string
$result2 = call_once('example'); // This will not execute example() again

echo "Result 1: " . ($result1 ?? 'null') . "\n"; // Output the return value
echo "Result 2: " . ($result2 ?? 'null') . "\n";



/*
run:

Result 1: example() function
Result 2: null

*/

 



answered Jan 6, 2025 by avibootz

Related questions

...