3v4l.org

run code in 300+ PHP versions simultaneously
<?php function swap(string &$bankdata, string &$databasedata): void { // get the spaces from each word // we use preg_replace to remove additional spaces in any of the words. $bank_arr = explode(' ', preg_replace('/\s+/', ' ', $bankdata)); $data_arr = explode(' ' , preg_replace('/\s+/', ' ', $databasedata)); $bank_space_count = count($bank_arr); $data_space_count = count($data_arr); $fixUp = function (string $words, array $with) { $patterns = []; $replacements = []; foreach($with as $each_word) { // skip single characters if (strlen($each_word) == 1) { continue; } $patherns[] = "/{$each_word}/"; $replacements[] = "$0 "; } return preg_replace($patherns, $replacements, $words); }; if ($bank_space_count >= $data_space_count) { $databasedata = $fixUp($databasedata, $bank_arr); } else { $bankdata = $fixUp($bankdata, $data_arr); } } // $bankdata = 'DHANALAKSHMI K'; // $databasedata = 'DHANA LAXMI KOILADA'; // $bankdata = 'P VENKATESWARA RAO'; // $databasedata = 'PARELLA VENKATESWARARAO'; $bankdata = 'LINGAREDDY S'; $databasedata = 'LINGA REDDY SHEELAM'; swap($bankdata, $databasedata); var_dump($bankdata, $databasedata);

preferences:
27.66 ms | 406 KiB | 5 Q