3v4l.org

run code in 300+ PHP versions simultaneously
<?php $chars = [ 'a' => 'c', 'b' => 'd', 'c' => 'a', 'd' => 'e', 'e' => 'b', ]; $original = 'acdcxx'; // Encrypt $encrypted = ''; for ($i = 0; $i < strlen($original); $i++) { // If we find the character in our mapping array, use the mapped character. // If not, let's use the original character. $encrypted .= array_key_exists($original[$i], $chars) ? $chars[$original[$i]] : $original[$i]; } print_r($encrypted); // Decrypt $decrypted = ''; for ($i = 0; $i < strlen($encrypted); $i++) { // Find the correct key $key = array_search($encrypted[$i], $chars); // If the character existed, use the key. // If not, use the original character. $decrypted .= $key !== false ? $key : $encrypted[$i]; } echo PHP_EOL; print_r($decrypted);
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.27, 8.3.0 - 8.3.16, 8.4.1 - 8.4.3
caeaxx acdcxx

preferences:
140.34 ms | 408 KiB | 5 Q