-1
我有一个包含$lang
关键字查询字符串,现在我想$lang
之前取代一切,直到'
符号的第一次出现使用循环另一个数组的内容。从更换位置匹配所有匹配的字符串到第一个'符号
下面是我的查询字符串:
select
COUNT(t1.id) as total,
COUNT(t1.id) as 'total_$lang',
CASE t2.`precence`
WHEN '0' THEN 'Absent'
WHEN '1' THEN 'Present'
ELSE 'Unknown'
END AS series,
CONCAT(DAYNAME(t1.date),' ',DATE_FORMAT(t1.date,'%Y %M %d')) AS ticks,
CONCAT(DATE_FORMAT(t1.date, '%a'),' ',DATE_FORMAT(t1.date,'%Y %M %d')) AS abv,
courses.no AS label,
CASE t2.`precence`
WHEN '0' THEN 'absent_$lang'
WHEN '1' THEN 'present_$lang'
ELSE 'unknown_$lang'
END AS 'attendance_state_$lang',
CONCAT(DAYNAME(t1.date),' ',DATE_FORMAT(t1.date,'%Y %M %d')) AS 'attendance_date_$lang',
CONCAT(DATE_FORMAT(t1.date, '%a'),' ',DATE_FORMAT(t1.date,'%Y %M %d')) AS 'attendance_date_abv_$lang',
courses.no AS 'course_num_$lang'
from course_attendances as t1 left join `student_attendances` as t2 on t2.`course_attendance_id` = t1.`id`
right join courses ON courses.id = t1.course_id
where t1.`course_id` = '1' AND t1.date BETWEEN '2015-01-01' AND '2015-11-02'
group by t1.`date`,t2.`precence`
现在我想用下面阵列
Array
(
[total_en] => Total
[absent_en] => Absent
[present_en] => Present
[unknown_en] => Unknown
[attendance_state_en] => Attendance State
[attendance_date_en] => Attendance Date
[attendance_date_abv_en] => Attendance Date (abv)
[course_num_en] => Course Number
)
的内容替换这正是我需要的问题的查找匹配的情况下部分,任何帮助表示感谢。
@BePearlKahan我用波纹管声明的符号后得到的每一件事情的结果'$ start_pos = strpos($ string,'\'');返回(substr($ string,$ start_pos + strlen('\'')));'和这个语句用于在符号或字符前面提取每一个元素'$ end_pos = strpos($ string,'_ $ lang');返回(substr($字符串,$ start_pos,$ end_pos));'但我怎么能结合他们? – jones