Php 分解函数为';t保留顺序,但在数组中按字母顺序排列单词

Php 分解函数为';t保留顺序,但在数组中按字母顺序排列单词,php,arrays,explode,Php,Arrays,Explode,我有一个变量,里面有一些不同的短语/单词,它们都用逗号分隔。它们当前在此变量中的顺序正确 但是当我使用 <?php explode(",", $variable) ?> 当我一个接一个地遍历这个数组并将这些单词打印到列表中时,结果是它们是按字母顺序排列的 因此,我的问题是如何保持这种秩序 循环如下 <?php if(!empty($variable)) { print '<ul>'; foreach($variable

我有一个变量,里面有一些不同的短语/单词,它们都用逗号分隔。它们当前在此变量中的顺序正确

但是当我使用

<?php 
  explode(",", $variable)
?>

当我一个接一个地遍历这个数组并将这些单词打印到列表中时,结果是它们是按字母顺序排列的

因此,我的问题是如何保持这种秩序

循环如下

 <?php
    if(!empty($variable)) {
      print '<ul>';
      foreach($variable as $key=>$value) {
        print '<li>- '.$value.' ' . '</li>';
      }
      print '</ul>';
    }
 ?>

分解不会更改字符串元素的顺序 检查这个结果

<?php

$arr = explode(",", $variable);
foreach($arr as $element) {
    echo $element;
}

分解不会更改拆分单词的顺序

如果按空格分解字符串
堆栈溢出用户

阵列将具有:

stack
overflow
user
所以,没必要去想它

$arr = explode(",", $variable);
echo '<pre>';
print_r($arr);
echo '</pre>';
$arr=explode(“,”,$variable);
回声';
印刷费($arr);
回声';

将简单地工作。

不要描述您的代码,发布它<代码>分解(“,”,$variable)
是正确的语法。。。请向我们提供完整的源代码,示例stringexplode不会对数组进行排序。我们需要看完整的代码来找出哪里出了问题。你的作业在哪里?从您所写的内容来看,您可能会认为explode直接更改给定的字符串。情况并非如此,您需要分配或使用返回值<代码>$variable将不会更改。这是循环的一个问题,因为我尝试使用for循环并保留了顺序。有人能解释为什么会发生这种情况吗?为什么不简单地编写
print\r($arr):)