Je veux inverser deux caractères de chaîne dans PHP. Par exemple, Cette fonction est inversée très bonne mais je veux inverser deux caractères non un personnage . p> Ma fonction me donne l'exemple de sortie: 50378f code> à
8f3750 code> s'il vous plaît aidez-moi s'il vous plaît.
12345 code> à
543210 code> mais je le veux comme
103254 code>. p> p>
4 Réponses :
Vous pouvez essayer ceci:
$string = '121314152'; $countDown = strlen($string); $substrLength = 2; $reverseString = ''; while ($countDown > 0) { $startPosition = $countDown -2; if ($countDown == 1) { $startPosition = 0; $substrLength = 1; } $reverseString .= substr($string, $startPosition, $substrLength); $countDown -= 2; } echo $reverseString; //will print 524131211
Vous avez raison! J'ai édité la réponse pour le faire travailler avec des cordes étranges
Vous pouvez essayer
J'ai réécrire la fonction, vous pouvez définir le nombre de longueurs de caractère que vous souhaitez inverser par modifier $ nofcharner.
exemple, si vous définissez $ nofcharner = 3, 12345 résultat sera 1004325. P> < Pré> xxx pré> p>
Vous pouvez utiliser la fonction ci-dessous pour la chaîne inverse par deux emplacements.
function reverseByTwoCharacters($string) { $stringReversed = ""; if (!empty($string)) { $stringLength = strlen($string); if ($stringLength % 2 == 0) { $splittedString = str_split($string, 2); } else { $splittedString = str_split(substr($string, 1), 2); array_unshift($splittedString, $string[0]); } $reverseString = array_reverse($splittedString); $stringReversed = implode($reverseString); } return $stringReversed; } $string = "1234567890"; echo reverseByTwoCharacters($string); // Output 9078563412
Cherchez-vous aux chaînes de Munge ou avez-vous un problème de Endian que vous ne savez pas Comment réparer correctement?
Voulez-vous dire shuffle i> au lieu de inverse i>? Pouvez-vous s'il vous plaît nous montrer quelques exemples d'intrants et de sorties attendus?