我有一堆复选框,其名称如下:
q1_week1_monday
如何将这些字符串拆分为3个不同的变量,例如
$quarter = q1;
$week = 1;
$day = monday;
由于
答案 0 :(得分:6)
使用explode()
拆分字符串和list
构造以将部件分配给变量。然后,使用regexp删除周前缀。
list ($quarter, $week, $day) = explode("_", "q1_week1_monday")
$week = preg_replace("#week(\d+)#", "$1", $week);
答案 1 :(得分:3)
使用explode()
按分隔符(_
)拆分字符串,然后使用filter_var()
获取周数。
$str = 'q1_week1_monday';
$parts = explode('_', $str);
$quarter = $parts[0];
$week = filter_var($parts[1], FILTER_SANITIZE_NUMBER_INT);
$day = $parts[2];
使用list()
构造(更整洁):
list($quarter, $week, $day) = explode('_', $str);
$week = filter_var($week, FILTER_SANITIZE_NUMBER_INT);
注意:这假定字符串的中间部分只包含一个数字。
答案 2 :(得分:1)
使用 explode()
并将其作为此类变量
$str="q1_week1_monday";
$str=explode('_',$str);
$quarter = $str[0];//q1
$week = intval($str[1]);//1
$day = $str[2];//monday