InfoHeap
Tech tutorials, tips, tools and more
Navigation
  • Home
  • Tutorials
    • CSS tutorials & examples
    • CSS properties
    • Javascript cookbook
    • Linux/Unix Command Line
    • Mac
    • PHP
      • PHP functions online
      • PHP regex
    • WordPress
  • Online Tools
    • Text utilities
    • Online Lint Tools
search

PHP

    PHP strings

    • PHP - split string examples
    • PHP - take last n characters of a string
    • PHP check if string contains something

    PHP Array

    • PHP - associative array value in double quoted string
    • PHP - check if a value is in array
    • PHP - convert array to associative array
    • PHP - print array in one line
    • PHP array foreach - code snippets
    • PHP array map example
    • PHP check if key exists in array
    • PHP sort associative array using custom compare function
    • php get array value with default

    PHP Regex

    • PHP Regex

    PHP Cookbook

    • PHP - assign multi lines string to a variable
    • PHP - call a function with arguments in array examples
    • PHP - get calling file name and line number using debug_backtrace
    • PHP - get class name and file name from an object
    • PHP - get function arguments examples
    • PHP - how to catch errors using set_error_handler
    • PHP - how to initialize static variables
    • PHP - how to use function static variable as cache
    • PHP check if a filename is valid
    • PHP elapsed time
    • PHP execute command and capture shell exit status
    • PHP how to get current url
    • PHP print number to two decimal places
    • PHP remove trailing whitespaces and newline
    • Php equal (==) vs identical (===)
    • Running php eval on code with tags

    PHP functions online

    • PHP functions online
     
    • Home
    • > Tutorials
    • > PHP

    PHP – how to use function static variable as cache

    on Feb 3, 2016

    PHP function static variable exists only in a local function scope but it does not lose its value after function execution. It can be used as cache for things like memcache lookup, etc. Here is php code snippet showing function static variable behaviour.

    <?php
    $v = get_val();
    $v = get_val();
    $v = get_val();
    function get_val() {
      static $cached_val = null;
      if ($cached_val === null) {
        echo "cached_val is null\n";
        $cached_val = get_val_expensive();
      } else {
        echo "cached_val is not null. reusing it.\n";
      }
      return $cached_val;
    }
    function get_val_expensive() {
      echo "In get_val_expensive()\n";
      return 100;
    }
    ?>
    cached_val is null
    In get_val_expensive()
    cached_val is not null. reusing it.
    cached_val is not null. reusing it.
    
    Env: PHP 7.3.18 (Linux)

    Suggested posts:

    1. How to return a value from bash function
    2. Javascript – iterate over function arguments
    3. How to specify environment variable for a command on Linux
    4. php get array value with default
    5. PHP – empty() vs isset() vs is_null() vs boolean check
    6. PHP – how to initialize static variables
    7. PHP – assign multi lines string to a variable
    8. PHP – get function arguments examples
    Share this article: share on facebook share on linkedin tweet this submit to reddit
    Posted in Tutorials | Tagged PHP, PHP cookbook, Tutorials

    Follow InfoHeap

    facebook
    twitter
    googleplus
    • Browse site
    • Article Topics
    • Article archives
    • Recent Articles
    • Contact Us
    • Omoney
    Popular Topics: Android Development | AngularJS | Apache | AWS and EC2 | Bash shell scripting | Chrome developer tools | CSS | CSS cookbook | CSS properties | CSS Pseudo Classes | CSS selectors | CSS3 | CSS3 flexbox | Devops | Git | HTML | HTML5 | Java | Javascript | Javascript cookbook | Javascript DOM | jQuery | Kubernetes | Linux | Linux/Unix Command Line | Mac | Mac Command Line | Mysql | Networking | Node.js | Online Tools | PHP | PHP cookbook | PHP Regex | Python | Python array | Python cookbook | SEO | Site Performance | SSH | Ubuntu Linux | Web Development | Webmaster | Wordpress | Wordpress customization | Wordpress How To | Wordpress Mysql Queries

    Copyright © 2023 InfoHeap.

    Powered by WordPress