Skip to content
Extended version of the Blueshoes PHP cheat sheet for variable type juggling
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
include
page
static_results
views
.gitattributes
.gitmodules
.htaccess
.jscsrc Travis: switch over to installing PHPCS via composer Aug 4, 2018
.jshintignore
.jshintrc
.phpcs.xml.dist
.scrutinizer.yml
.travis.yml
LICENSE.md
README.md
REDIRECTIONS.md
class.vartype-arithmetic.php
class.vartype-compare.php
class.vartype-php5.php
class.vartype-php7.php
class.vartype-test.php SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
class.vartype.php
composer.json
favicon.ico
index.php
robots.txt
ror.xml
sitemap.xml
sitemap.xml.gz Regenerated static sheets & sitemaps Apr 9, 2019

README.md

PHP-cheat-sheet-extended

GitHub license Build Status Scrutinizer Code Quality

View these cheat sheets live at PHPCheatsheets.com

Much extended version of the Blueshoes PHP cheat sheet for variable type juggling.

Features:

  • Lots of extra variables being tested.
  • Lots of extra comparisons and tests.
  • Variable arithmetic.
  • Results available for a wide variety of PHP versions.

Contributing:

Suggestions for additional test variables, additional comparisons, tests or other improvements are very welcome. Just open an issue or send in a pull request for it.

About the static versions of the sheets:

Static versions of the cheatsheets are generated using a variety of PHP versions.

These PHP versions will include:

  • [Always] Latest release for each minor PHP version at the time of (re-)generation of the static sheets.
  • [Always] The PHP versions included in the last three Ubuntu, Debian and CentOS LTS releases.
  • [Selectively] Popular minor releases based on worldwide usage statistics at the time of (re-)generation of the static sheets.
  • [Selectively] Previously included versions if no other close minor release will be included.

In general, a balance is sought between significance and variety.

Credits:

Changelog:

1.4.0 (April 9 2019): PHP 7.3 and more

  • New tests:
    • is_iterable() in variable tests (PHP 7.1+ only).
    • is_countable() in variable tests (PHP 7.3+ only).
    • version_compare() in variable comparisons.
  • Renewed static sheets:
    • Added static sheets for PHP 7.3.4, 7.3.0, 7.2.17, 7.2.13, 7.2.6, 7.2.3, 7.1.28, 7.1.18, 7.1.5, 7.0.33, 7.0.27, 5.6.40, 5.6.30
    • Removed static sheet generation for PHP 7.2.0, 7.1.12, 7.1.7, 7.1.0, 7.0.26, 7.0.21, 7.0.14, 5.6.32, 5.6.29, 5.6.25, 5.5.16, 5.4.41, 5.3.27, 5.2.6, 5.0.4
  • Updated CastToType submodule to v 2.0.1.
  • Account for Exception text changes in PHP 7.3.
  • Bugfix: arrays and objects are now reset before each test.

Also:

  • The website is now available over SSL.
  • Minor language fixes.
  • Updated the code for the social media and donate buttons.
  • Removed the tablesorting feature from the sitemap.xml file.
  • Minor tweaks to the Travis tests.
  • General housekeeping/CS fixes.

Note: This will be the last version with support for PHP < 5.4.

1.3.8 (November 30 2017): PHP 7.2 has landed

  • Renewed static sheets:
    • Added static sheets for PHP 7.2.0, 7.1.12, 7.0.26, 5.6.32, 5.6.29, 5.6.21
    • Removed static sheet generation for PHP 7.2.0-beta1, 7.1.3, 7.0.17, 5.6.31, 5.6.28, 5.6.20, 5.5.35, 5.4.36

1.3.7 (July 26 2017): PHP 7.2 beta 1 release

  • Renewed static sheets:
    • Added static sheets for PHP 7.2.0-beta1, 7.1.7, 7.0.21, 7.0.19, 7.0,14, 5.6.31
    • Removed static sheet generation for PHP 7.0.12, 7.0.0, 5.6.30, 5.6.0, 5.2.9-2.

1.3.6 (March 23 2017)

  • Renewed static sheets:
    • Added static sheets for PHP 7.1.3, 7.0.17, 7.0,12, 5.6.30
    • Removed static sheet generation for PHP 7.0.13, 7.0.10.

1.3.5 (Dec 3 2016): PHP 7.1 has been released: new arithmetic exceptions

  • Renewed static sheets:
    • Added static sheets for PHP 7.1.0, 7.0.13, 7.0.10, 5.6.28, 5.6.25, 5.5.38, 5.5.35.
    • Removed static sheet generation for PHP 7.1.0-alpha3, 7.0.8, 7.0.6, 5.6.23, 5.6.13, 5.5.37, 5.5.33, 5.5.3.
  • The cheatsheets for PHP 4 are no longer actively maintained (regenerated) except for the version switcher menu.

1.3.4 (Jul 9 2016): What will PHP 7.1 bring ?

  • Renewed static sheets:
    • Added static sheets for PHP 7.1.0-alpha3, 7.0.8, 7.0.6, 5.6.23, 5.6.20, 5.6.16, 5.5.37
    • Removed static sheet generation for PHP 7.0.2, 5.6.19, 5.6.17, 5.6.15, 5.6.9, 5.5.28, 5.3.2.

1.3.3 (Mar 11 2016)

  • Renewed static sheets:
    • Added static sheets for PHP 7.0.4, 7.0.2, 5.6.19, 5.6.17, 5.5.33, 5.5.22.
    • Removed static sheet generation for PHP 5.6.11, 5.5.26, 5.5.21, 5.4.43, 5.4.39.

1.3.2 (Dec 3 2015): PHP 7 is here!

  • Renewed static sheets:
    • Added static sheets for PHP 7.0.0.
    • Removed static sheet generation for PHP 7.0.0-RC6.
  • Fixed static sheets to display the correct 'live' version (moved to server running PHP 5.6.8 - was 5.4.13).

1.3.1 (Nov 2015): PHP 7 is nearly upon us!

  • Renewed static sheets based on currently available and most used versions:
    • Added static sheets for PHP 7.0.0-RC6, 5.6.15, 5.6.13, 5.6.11, 5.6.9, 5.6.7, 5.5.30, 5.5.28, 5.5.21, 5.4.45, 5.4.27, 5.4.41, 5.4.43.
    • Removed static sheet generation for PHP 7.0.0-alpha1, 5.6.10, 5.6.8, 5.6.5, 5.6.2, 5.5.24, 5.5.22, 5.4.42, 5.4.33, 5.4.20, 5.4.11.
  • Fixed "division by zero" error catching for PHP7 as the Exception hierarchy changed in PHP7-alpha2.
  • Some other minor improvements.

1.3 (Jun 2015): Get ready for PHP 7!

  • New tests:
    • <=> in variable comparisons (PHP7+ only).
    • $x ?? ... in variable tests (PHP7+ only).
    • intdiv() in variable arithmetics (PHP7+ only).
    • preg_match() with unicode property codes in variable string tests (PHP5.1+).
  • Added two new variables specifically for the unicode property tests.
  • Renewed static sheets based on currently available and most used versions:
    • Added static sheets for PHP 7.0.0-alpha1, 5.6.10, 5.6.8, 5.6.0, 5.5.26, 5.5.24, 5.5.22, 5.4.42, 5.4.39, 5.4.36.
    • Removed static sheet generation for PHP 5.6.4, 5.5.21, 5.5.20, 5.5.18, 5.4.37, 5.4.35 and 4.3.9.
  • Updated CastToType submodule to v2.0 which brings object casting via that class for all PHP versions in line with PHP7 and fixes a bug in object casting for PHP <= 5.1.

Also:

  • Fixed a hiccup where the "Filter" tab would be shown in PHP 5.1, while the filter extension is only available in PHP 5.2+.
  • Fixed a bug on the "test" cheatsheet where the row variable header would not display properly in the right hand column on low PHP versions.
  • Improved grouping of PHP error messages.
  • Added some more user facing information about the tests run and version quirks.
  • Fixed js error in sitemap stylesheet.
  • Fixed a faulty redirect in .htaccess.
  • Minor UI improvements.
  • Tidying up.

1.2.0.1 (Feb 2015)

  • Added sitemaps.

1.2 (Feb 2015)

  • New tests:
    • pow() in variable arithmetic.
    • ** (PHP 5.6+) in variable arithmetic.
    • . (concatenation) in variable arithmetic - for want of better place.
  • Added two new float variables.
  • Lots of usability improvements:
    • Select PHP version via dropdown.
    • PHP version persists across sheets.
    • Variable legend now auto-expand when user clicks on variable 'footnote' link.
    • 'Pretty' (semantic) urls.
    • Better window titles.
    • Better error handling (404).
  • Static sheets now available in lots more versions (30!), including PHP 5.5, 5.6 which weren't available until now. Retired some older versions which have close versions available anyhow.
  • Fixed:
    • Variable legend for binary integer was missing.

Also:

  • Added donate to charity button.
  • Change over to absolute rather than relative urls.
  • Minor html and css fixes.
  • Script to autogen (nearly) all static sheets.
  • Updated cast-to-type submodule.
  • Upgraded jQuery and jQuery UI to 1.11.2.
  • General tidying up.

1.1 (Feb 2014) - move to own domain.

  • New tests:
    • abs() in variable testing.
  • New pages:
    • 'other cheatsheets'.
    • 'about'.
  • New site styling for own domain.

Also:

  • Added twitter & LinkedIn share buttons.
  • Upgraded jQuery to 1.11.0 and jQuery UI to v 1.10.4.
  • Cleaned up HTML.

1.0 (Sep 2013) - first public version.

You can’t perform that action at this time.