3v4l.org

run code in 300+ PHP versions simultaneously
<?php $types = array('Normal','Fighting','Flying','Poison','Ground','Rock','Bug','Ghost','Steel','Fire','Water','Grass','Electric','Psychic','Ice','Dragon','Dark','Fairy',); $effect_vals = array( array(1, 1, 1, 1, 1,.5, 1, 0,.5, 1, 1, 1, 1, 1, 1, 1, 1, 1), array(2, 1,.5,.5, 1, 2,.5, 0, 2, 1, 1, 1, 1,.5, 2, 1, 2,.5), array(1, 2, 1, 1, 1,.5, 2, 1,.5, 1, 1, 2,.5, 1, 1, 1, 1, 1), array(1, 1, 1,.5,.5,.5, 1,.5, 0, 1, 1, 2, 1, 1, 1, 1, 1, 2), array(1, 1, 0, 2, 1, 2,.5, 1, 2, 2, 1,.5, 2, 1, 1, 1, 1, 1), array(1,.5, 2, 1,.5, 1, 2, 1,.5, 2, 1, 1, 1, 1, 2, 1, 1, 1), array(1,.5,.5,.5, 1, 1, 1,.5,.5,.5, 1, 2, 1, 2, 1, 1, 2,.5), array(0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1,.5, 1), array(1, 1, 1, 1, 1, 2, 1, 1,.5,.5,.5, 1,.5, 1, 2, 1, 1, 2), array(1, 1, 1, 1, 1,.5, 2, 1, 2,.5,.5, 2, 1, 1, 2,.5, 1, 1), array(1, 1, 1, 1, 2, 2, 1, 1, 1, 2,.5,.5, 1, 1, 1,.5, 1, 1), array(1, 1,.5,.5, 2, 2,.5, 1,.5,.5, 2,.5, 1, 1, 1,.5, 1, 1), array(1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 2,.5,.5, 1, 1,.5, 1, 1), array(1, 2, 1, 2, 1, 1, 1, 1,.5, 1, 1, 1, 1,.5, 1, 1, 0, 1), array(1, 1, 2, 1, 2, 1, 1, 1,.5,.5,.5, 2, 1, 1,.5, 2, 1, 1), array(1, 1, 1, 1, 1, 1, 1, 1,.5, 1, 1, 1, 1, 1, 1, 2, 1, 0), array(1,.5, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1,.5,.5), array(1, 2, 1,.5, 1, 1, 1, 1,.5,.5, 1, 1, 1, 1, 1, 2, 2, 1), ); $effect = array(); foreach($types as $d_key => $defending){ foreach($types as $a_key => $attacking){ $effect[$defending][$attacking] = $effect_vals[$d_key][$a_key]; } } foreach($effect as $key => $child){ reset($effect); echo key($effect) === $key ? str_pad(substr($key, 0, 3), 7, " ", STR_PAD_LEFT) : str_pad(substr($key, 0, 3), 6, " ", STR_PAD_LEFT); } foreach($effect as $key => $child){ echo "\n" . substr($key, 0, 3); foreach($child as $c_key => $value){ reset($child); echo key($child) === $c_key ? str_pad(substr($value, 0, 3), 4, " ", STR_PAD_LEFT) : str_pad(substr($value, 0, 3), 6, " ", STR_PAD_LEFT); } }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
  Nor �Fig �Fly �Poi �Gro �Roc �Bug �Gho �Ste �Fir �Wat �Gra �Ele �Psy �Ice �Dra �Dar �Fai Nor �1  �1  �1  �1  �1 �0.5  �1  �0 �0.5  �1  �1  �1  �1  �1  �1  �1  �1  �1 Fig �2  �1 �0.5 �0.5  �1  �2 �0.5  �0  �2  �1  �1  �1  �1 �0.5  �2  �1  �2 �0.5 Fly �1  �2  �1  �1  �1 �0.5  �2  �1 �0.5  �1  �1  �2 �0.5  �1  �1  �1  �1  �1 Poi �1  �1  �1 �0.5 �0.5 �0.5  �1 �0.5  �0  �1  �1  �2  �1  �1  �1  �1  �1  �2 Gro �1  �1  �0  �2  �1  �2 �0.5  �1  �2  �2  �1 �0.5  �2  �1  �1  �1  �1  �1 Roc �1 �0.5  �2  �1 �0.5  �1  �2  �1 �0.5  �2  �1  �1  �1  �1  �2  �1  �1  �1 Bug �1 �0.5 �0.5 �0.5  �1  �1  �1 �0.5 �0.5 �0.5  �1  �2  �1  �2  �1  �1  �2 �0.5 Gho �0  �1  �1  �1  �1  �1  �1  �2  �1  �1  �1  �1  �1  �2  �1  �1 �0.5  �1 Ste �1  �1  �1  �1  �1  �2  �1  �1 �0.5 �0.5 �0.5  �1 �0.5  �1  �2  �1  �1  �2 Fir �1  �1  �1  �1  �1 �0.5  �2  �1  �2 �0.5 �0.5  �2  �1  �1  �2 �0.5  �1  �1 Wat �1  �1  �1  �1  �2  �2  �1  �1  �1  �2 �0.5 �0.5  �1  �1  �1 �0.5  �1  �1 Gra �1  �1 �0.5 �0.5  �2  �2 �0.5  �1 �0.5 �0.5  �2 �0.5  �1  �1  �1 �0.5  �1  �1 Ele �1  �1  �2  �1  �0  �1  �1  �1  �1  �1  �2 �0.5 �0.5  �1  �1 �0.5  �1  �1 Psy �1  �2  �1  �2  �1  �1  �1  �1 �0.5  �1  �1  �1  �1 �0.5  �1  �1  �0  �1 Ice �1  �1  �2  �1  �2  �1  �1  �1 �0.5 �0.5 �0.5  �2  �1  �1 �0.5  �2  �1  �1 Dra �1  �1  �1  �1  �1  �1  �1  �1 �0.5  �1  �1  �1  �1  �1  �1  �2  �1  �0 Dar �1 �0.5  �1  �1  �1  �1  �1  �2  �1  �1  �1  �1  �1  �2  �1  �1 �0.5 �0.5 Fai �1  �2  �1 �0.5  �1  �1  �1  �1 �0.5 �0.5  �1  �1  �1  �1  �1  �2  �2  �1

preferences:
303.16 ms | 413 KiB | 458 Q