在昨天的采访中,我被问到如何使用任何字符串函数(如strrev()或strlen())来反转字符串。我在网站上找到了这个例子,但它给出了错误。如果没有strlen(),我可以做到这一点。
未初始化的字符串偏移量:-1英寸 第xx行的D:\ xampp \ htdocs \ PhpProject1 \ index.php
$string = "ZEESHAN";
$i =0;
while(($string[$i])!=null){
$i++;
}
$i--;
while(($string[$i])!=null){
echo $string[$i];
$i--;
}
答案 0 :(得分:8)
$string = 'zeeshan';
$reverse = '';
$i = 0;
while(!empty($string[$i])){
$reverse = $string[$i].$reverse;
$i++;
}
echo $reverse;
答案 1 :(得分:2)
我为字符串反转创建了一个简单的逻辑
$str = 'ABCD';
$strReversed = '';
$length = strlen($str);
for($i=$length-1; $i >= 0; $i--){
$strReversed .= $str[$i];
}
echo $strReversed;
答案 2 :(得分:1)
尝试 -
$string = "ZEESHAN";
$j = 0;
while(!empty($string[$j])) {
$j++;
}
for($i = ($j-1); $i >= 0; $i--) {
echo $string[$i];
}
<强>输出强>
NAHSEEZ
答案 3 :(得分:0)
你可以这样做
$string = "heya";
$i = strlen("heya") - 1;
$newStr = "";
while($i >= 0) {
$newStr .= $string[$i];
$i--;
}
echo $newStr; // output: ayeh
答案 4 :(得分:0)
您可以使用count_chars
和array_sum
<?php
$string = "ZEESHAN";
$count=array_sum(count_chars($string));
for($i=$count -1 ;$i>=0;$i--){
echo $string[$i];
}
?>
如果您不想要任何php字符串函数,可以使用krsort
和array
尝试这种方式:
<?php
$string = "ZEESHAN";
$arr = array();
$i=0;
while(isset($string[$i])){
$arr[$i] = $string[$i];
$i++;
}
krsort($arr);
$final = implode("",$arr);
var_dump($final);
?>
答案 5 :(得分:0)
您可以像{/ p>一样使用while
和for
循环
$string = "ZEESHAN";
$reverse = "";
$j = 0;
while(isset($string[$j])){
$j++;
}
for($i = $j - 1; $i >= 0; $i--){
$reverse .= $string[$i];
}
echo $reverse;
答案 6 :(得分:0)
请看下面的代码:反转字符串
$str = 'abcdefg';
$reverseString = '';
for($i=strlen($str);$i<=strlen($str);$i--){
$reverseString .= $str[$i];
if($i==0)
break;
}
echo $reverseString;
以上代码输出为:
gfedcba
答案 7 :(得分:0)
//Program for reversing a string
<?php
class str_rev{
public function Revese_Str($string){
$reverse = '';
$i=0;
while(!empty($string[$i])){
$reverse = $string[$i].$reverse;
$i++;
}
return $reverse;
}
}
$object = new str_rev();
echo $object->Revese_Str('Ayush Jain');
答案 8 :(得分:0)
还有另一种方法可以做到这一点,即“递归”
<?php
/*
String reverse without using functions and loop conditions
*/
$str = 'Hello World!';
echo rev($str);
function rev($str)
{
$len = strlen($str);
/* Base case for recursion */
if($len == 1 ){
return $str;
}else{
$len--;
/* extract last character and concatenate at end of string
returned from recursive call on remaining string
*/
return substr($str,$len) . rev(substr($str,0,$len));
}
}
答案 9 :(得分:0)
<?php
$string = 'ZEESHAN';
$reverse = '';
$i = 0;
while(!empty($string[$i])){
$reverse = $string[$i].$reverse;
$i++;
}
echo $reverse;
?>
检查完整的帖子:https://www.troposal.com/reverse-string-without-function-php/
答案 10 :(得分:0)
检查此代码可解决此问题。
<?php
$string = "ZEESHAN";
$i =0;
while(!empty($string[$i])){
$i++;
}
$i--;
while(!empty($string[$i])){
echo $string[$i];
$i--;
}
?>
答案 11 :(得分:-1)
<!doctype html>
<html>
<body>
<center>
<form action="#" method="get">
<br>
<input type="text" name="txt"/>
<br><br>
<input type="submit" name="submit"/>
<br><br>
</form>
<?php
if(isset($_GET["submit"])) {
$name = $_GET["txt"];
for ($i = 0; isset($name[$i]); $i++) {
$j = $i;
}
for ($k = $j; isset($name[$k]); $k--) {
echo $name[$k];
}
}