Extended version of the Blueshoes PHP cheat sheet for variable type juggling
HTML Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
include SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
page SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
static_results Regenerated static sheets & sitemaps. Nov 30, 2017
views Verified & updated all links on the "More cheatsheets" page Jun 24, 2018
.gitattributes Gitattributes: don't package config files Jan 14, 2018
.gitmodules Adding in PHP CastToType class as a submodule Sep 6, 2013
.htaccess SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
.jscsrc Travis: switch over to installing PHPCS via composer Aug 4, 2018
.jshintignore Travis: switch over to installing PHPCS via composer Aug 4, 2018
.jshintrc Update travis script, add js lint & minor codestyle adjustments. Dec 12, 2015
.phpcs.xml.dist Travis: switch over to installing PHPCS via composer Aug 4, 2018
.scrutinizer.yml Update scrutinizer config Dec 4, 2016
.travis.yml Travis: switch over to installing PHPCS via composer Aug 4, 2018
LICENSE.md Create LICENSE.md Aug 27, 2013
README.md SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
class.vartype-arithmetic.php SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
class.vartype-compare.php SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
class.vartype-php5.php Bug fix: always reset an array before running a test on it Aug 4, 2018
class.vartype-php7.php PHPCS: minor code style fixes Jan 14, 2018
class.vartype-test.php SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
class.vartype.php CS: update the ruleset for newly released versions of the CS standards Aug 4, 2018
composer.json Travis: switch over to installing PHPCS via composer Aug 4, 2018
favicon.ico Adjusted styling & finishing touches for move to own domain Feb 11, 2014
index.php SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
robots.txt SSL: switch both internal as well as external links over to HTTPS Jun 24, 2018
ror.xml Regenerated static sheets & sitemaps. Nov 30, 2017
sitemap.xml Regenerated static sheets & sitemaps. Nov 30, 2017
sitemap.xml.gz Regenerated static sheets & sitemaps. Nov 30, 2017

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.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.0beta1, 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.0beta1, 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.