Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中不使用explode函数将字符串转换为数组_Php - Fatal编程技术网

如何在php中不使用explode函数将字符串转换为数组

如何在php中不使用explode函数将字符串转换为数组,php,Php,我想将字符串转换为数组,而不使用php中的explode函数 我希望输出如下内容([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5),但不使用explode() 应该是这样的arr[0]=这个arr[1]=是arr[2]=字符串我希望您的模式如下“这是字符串” 因此,以下代码可用于相同的目的: <?php // split the phrase by any number of commas or space characters, // which include " "

我想将字符串转换为数组,而不使用php中的explode函数 我希望输出如下内容
([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5)
,但不使用explode()



应该是这样的
arr[0]=这个arr[1]=是arr[2]=字符串

我希望您的模式如下“这是字符串” 因此,以下代码可用于相同的目的:

<?php
// split the phrase by any number of commas or space characters,
// which include " ", \r, \t, \n and \f
$keywords = preg_split("/ /", "this is string");
print_r($keywords);
?>

谢谢 主教

编辑:完整的代码

<?php
$theString = "1.2.34.87";
$var_arr = array();
$j = mb_strlen($theString);
for ($k = 0; $k < $j; $k++) 
{
    $char = mb_substr($theString, $k, 1);
    $var_arr[$k] =  $char;
}
print_r($var_arr);
?>

去那边测试一下

检查图像作为证据


我的解决方案…

$string = 'This-is-the-string';
$word = '';$warray = array();

for($i=0; $i<strlen($string);$i++){
    if($string[$i]=='-'){$warray[] = $word;$word = '';}
    else $word .= $string[$i];
}

if($word!='')$warray[] = $word;//Last word;

echo "<pre>";print_r($warray);die;
$theString=“这是字符串”;
$var_arr=array();
$j=mb_strlen($theString);
$chars=“”;
对于($k=0;$k<$j;$k++)
{
$char=mb_substr($theString,$k,1);
如果($char==“”)
{
$var_arr[]=$chars;
$chars=“”;
}
否则{
$chars.=$char;
}
如果($k+1)=$j)
{
$var_arr[]=$chars;
}
}
打印($var\u arr);
$var='Rahul,Rohit,Sumeet,Abhi'//你的绳子
$len=strlen($var);
$glue=',';//把胶水放在这里
$j=0;
对于($i=0;$i

输出: 排列 ( [0]=>此 [1] =>是 [2] =>a [3] =>字符串
)

字符串的模式是什么,为什么没有爆炸,它有什么问题?努力在哪里?自己做家务,如果出现问题,请在这里分享..你能告诉我它的输出是什么吗?我有错误我没有得到你的代码..所以我要求给我看完整的程序它与我想要的不同…我的代码::$str=“1,2,3,4,5”;o/p应该是这样的:([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5)。。。
EDIT suppose you have string

$s = 12.3.4.09.20

it will give the array as

array = ('1','2','.','3','.','4','.','0','9','.','2','0');
<?php
$theString = "1.2.34.87";
$var_arr = array();
$j = mb_strlen($theString);
for ($k = 0; $k < $j; $k++) 
{
    $char = mb_substr($theString, $k, 1);
    $var_arr[$k] =  $char;
}
print_r($var_arr);
?>
$string = 'This-is-the-string';
$word = '';$warray = array();

for($i=0; $i<strlen($string);$i++){
    if($string[$i]=='-'){$warray[] = $word;$word = '';}
    else $word .= $string[$i];
}

if($word!='')$warray[] = $word;//Last word;

echo "<pre>";print_r($warray);die;
Array
(
    [0] => This
    [1] => is
    [2] => the
    [3] => string
)
    $theString = "this is string";
    $var_arr = array();
    $j = mb_strlen($theString);
    $chars = "";
    for ($k = 0; $k < $j; $k++) 
    {

        $char = mb_substr($theString, $k, 1);
        if($char == " ")
        {
            $var_arr[] =  $chars;
            $chars = "";
        }
        else{
            $chars .= $char;
        }

        if( ($k + 1) == $j)
        {
            $var_arr[] =  $chars;
        }

    }
    print_r($var_arr);
$var = 'Rahul,Rohit,Sumeet,Abhi'; //your string 
$len = strlen($var);
$glue = ','; // place your glue here
$j=0;
for($i=0; $i<= $len;$i++){
    $arr[$j] .= trim($var[$i],$glue);   
    if($var[$i] == $glue){
        $j++;   
        continue;
    }
    else{

    }
}

print_r($arr);
<?php
 $str  = "This is a string";
 $a =array();
 $word = "";
    for($i=0;$i<strlen($str);$i++){
      if($str[$i] == " "){
         $a[] = $word;
         $word = "";
      } else{
         $word .= $str[$i];
      }
    }

// for last word
if($word != ''){
    $a[] = $word;
}

print_r($a);
?>