【问题标题】:Each value of a string to a separate array conversion将字符串的每个值转换为单独的数组
【发布时间】:2015-07-10 09:20:44
【问题描述】:

我有一个html页面内容,我把它转换成一个用“#”分隔的字符串。

例子:

(2R)-2-hydroxy#250.181#C15H24NO2#2#1#46#1#11#1.1266#1#18#6

有没有办法将这些字符串的每个值转换成数组?

我需要这样的输出:

$a = (2R)-2-hydroxy    
$b = 250.181    
$c = C15H24NO2   
$d = 2    
$e = 1
//etc...

【问题讨论】:

  • 也许会在 '#` 上爆炸? (explode()) 但是$a、$b、$c、$d、$e等不构成数组,只是一些不相关的变量
  • $a. $b, $c .. 需要相同吗?
  • 不,每个数组 $a, $b, $c 需要不同,以便我可以根据自己的意愿在网页中调用或插入到 mysql 字段中,我希望每个值进入不同的数组..有什么办法吗?

标签: php string string-matching


【解决方案1】:

这应该适合你:

只需explode() 您的字符串并循环遍历数组。然后您可以将每个值分配给一个变量,您可以在其中increment the character

$str = "(2R)-2-hydroxy#250.181#C15H24NO2#2#1#46#1#11#1.1266#1#18#6";
$arr = explode("#", $str);
$start = "a";

foreach($arr as $v) {
    $$start = $v;
    $start++;
}

【讨论】:

  • 我真的不明白这与我的答案或 OP 的问题有什么关系。您也不必两次发布评论。
  • OP 的原始、未经编辑的帖子称它是“一页”。一页通常建立在查询字符串上,所以我想添加一个简单的解决方案来提取它。不过,经过他的编辑,它可能不再具有相关性。
  • 嗨 FoxRider,感谢您的尝试,但它只是删除了 # 符号..我希望每个值都存储在一个单独的数组中。以便稍后我可以插入到我的数据库中。
  • @ombioinfo 我的答案是否如您所愿?因为我希望每个值都存储在一个单独的数组中让我有点困惑。
  • 您好 Rizier123,它无法正常工作,它给出的输出没有 # 仅此而已。我想将每个值存储在单独的数组中。例如:$val [0]= firstvalue, $val [1]= secondvalue 等等。
【解决方案2】:

这应该可以工作

$array = explode("#", "(2R)-2-hydroxy#250.181#C15H24NO2#2#1#46#1#11#1.1266#1#18#6");


$array [0] = (2R)-2-hydroxy
$array [1] = 250.181
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    相关资源
    最近更新 更多