如何在PHP中分解字符串,但保持它们在同一行上?

如何在PHP中分解字符串,但保持它们在同一行上?,php,Php,我使用PHP从Oracle数据库中提取一个字段。该字段存储的值类似于firstname:name。如何从字段中分解:,使值保持在html表中的同一行 <?php include_once 'dB/oraConfig.php'; $stid = oci_parse($conn, 'SELECT Name FROM Orders'); oci_execute($stid); echo "<table border='1'>\n"; while ($row = oci_fetch_a

我使用PHP从Oracle数据库中提取一个字段。该字段存储的值类似于
firstname:name
。如何从字段中分解
,使值保持在html表中的同一行

<?php
include_once 'dB/oraConfig.php';
$stid = oci_parse($conn, 'SELECT Name FROM Orders');
oci_execute($stid);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
       echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";

    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

如果
$str
将是格式为firstname:name的字符串:

$str="firstname:surname";
$arr=explode(":",$str);
echo $arr[0]." ".$arr[1];
// firstname surname
如果您只想呼应“firstname-姓氏”,用空格隔开,您可以

echo str_replace(":", " ", $item);

用空格重新填充所有冒号。

尝试将此应用于代码

//the variable you want to fix is in tmp 
$tmp = "firstname:surname"; 
//the field gets the result without ':' 
$field = explode(':' , $tmp)[0]." ".explode(':', $tmp)[1] ; 

因此,您希望的结果是从“firstname:names”到“firstname-names”?您试图分解的字段的名称是什么?它是来自“从订单中选择名称”的名称字段,因此该字段在first:last ie:Bob:Smith中具有所有值。这在5.4之前的PHP版本中不起作用,从:“已添加函数数组解引用,例如foo()[0]”我认为这是一个比接受的答案更好、更简单的答案。您将获得所有值(如果有两个以上的值以“:”分隔),并且不会收到通知/警告,表明您试图访问数组中未定义的键(如果没有“:”“在DB的文本中)。