Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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 如何将包含数字和字符的数组分成两个数组并打印它们?_Php - Fatal编程技术网

Php 如何将包含数字和字符的数组分成两个数组并打印它们?

Php 如何将包含数字和字符的数组分成两个数组并打印它们?,php,Php,这里我的问题是如何划分一个包含数字和字符的数组。例如:125毫克。我从数据库中得到这个值,我试图分割它,但我无法分割它。有人能给我建议吗?我搜索了很多 以下是代码示例: <?php $sql="select * from medication_history where id=$id"; $result=mysql_query($sql)or die(mysql_error()); $row=mysql_fetch_array($result); $dose=$row['dose'];

这里我的问题是如何划分一个包含数字和字符的数组。例如:125毫克。我从数据库中得到这个值,我试图分割它,但我无法分割它。有人能给我建议吗?我搜索了很多

以下是代码示例:

<?php 
$sql="select * from medication_history where id=$id";
$result=mysql_query($sql)or die(mysql_error());
$row=mysql_fetch_array($result);
$dose=$row['dose'];
//echo $dose;
echo str_word_count($dose);
$dose=implode('',explode(',',$dose));
//print_r ($dose);
 echo $dose;?>

我认为最合适的解决方案是将“剂量”列分成两个不同的列。 第一个包含数量(125),第二个包含单位(mg)


我看到的另一种方法是使用正则表达式来识别数字部分和字母字符部分。

如果你理解你的问题的话。答案是:

$num=preg_replace("#[^0-9]#",'', $dose);

$char=preg_replace("#[^a-z]#",'', $dose);
现在:


$num=125和$char=mg。

请提供输入数据和预期结果的示例,以角落为例。您好,我将获得$dose变量为125 mg,因此如何将这两个变量划分为数字和字符,并在两个位置打印上述值