PHP如何解析字符串并转换为变量

时间:2013-08-01 16:46:22

标签: php string parsing variables

使用PHP,我希望解析一个字符串并将其转换为变量。具体来说,字符串将是一个文件名,我希望将文件名拆分为变量。文件是自然照片,格式统一:

species_name最新-locationcode城市

所有文件名都具有这种格式,“ - ”是分隔符。 (如果有必要,我可以做任何事情)

文件名的示例是common_daisy-20130731-ABCD-Dallas

我想将它分解为$ speciesname,$ date,$ locationcode,$ city的变量。

有关如何做到这一点的任何想法?我已经看过解析字符串的函数,但它们通常采用字符串中变量名称的形式(例如“species = daisy& date = 20130731& location = ABCD& city = Dallas”),我不知道有,但不能使我的文件名匹配。如果我想使用字符串替换来将分隔符更改为变量=我将不得不在文件名中使用4个不同的分隔符,这对我不起作用。

感谢所有试图帮助我解决此问题的人。

5 个答案:

答案 0 :(得分:1)

list($ speciesname,$ date,$ locationcode,$ city)= explode(' - ',$ filename);

答案 1 :(得分:1)

使用PHP explode

$pieces = explode('-', 'species_name-date-locationcode-city');
$name = $pieces[0];
$data = $pieces[1];
$code = $pieces[2];
$city = $pieces[3];

答案 2 :(得分:1)

<?php
$myvar = 'common_daisy-20130731-ABCD-Dallas';
$tab = explode ('-', $myvar);
$speciesname = $tab[0];
$date = $tab[1];
$locationcode = $tab[2];
$city = $tab[3];
?>

答案 3 :(得分:1)

您可以在分隔符上分解字符串,然后分配给变量

$filename = 'species_name-date-locationcode-city';
$array = explode('-', $filename);
$speciesname = $array[0];
$date = $array[1];
$locationcode = $array[2];
$city = $array[3];

答案 4 :(得分:0)

http://php.net/manual/en/function.explode.php

$pieces = explode("-", $description);