我试图将字符串转换为使用与键查找表的数字阵列。
这是数组:
$q2_10_lt = array("Full-time worker" => 1
, "Part-time worker" => 2
, "Unemployed, would like to work" => 3
, "Unable to work (chronically ill/mentally handicapped/physically handicapped)" => 4
, "Pensioner/retired" => 5
, "Housewife/husband" => 6
, "Student at university of college (post-matric)" => 7
, "High school learner" => 8
, "Primary school learner" => 9
, "Child attending pre-school/nursery school/crèche/day-mother" => 10
, "Child staying at home" => 11
, "Other" => 12);
该问题的关键是“上学前/幼儿园/托儿所/天,母子”。 使用下面的代码时,该键未找到:
$person_tempArr[] = $q2_10_lt[$row["q2_10"]] != null ? $q2_10_lt[$row["q2_10"]] : "12";
$person_tempArr[] = $q2_10_lt[$row["q2_10"]] == null ? $row["q2_10"] : "";
在$row["q2_10"]
值是刚刚从MySQL数据库所采取的不同的字符串。
我应该得到来自第一线的10号,而是我得到12和完整的字符串不变“孩子上学前/幼儿园/托儿所/天娘”。
这必须是与特殊字符è,但我一直没能解决这个问题。 任何帮助请。
编辑1
做一个十六进制转储的建议后,我得到了以下结果
从SQL数据库:
43 68 69 6c 64 20 61 74 74 65 6e 64 69 6e 67 20 70 72 65 2d 73 63 68 6f 6f 6c 2f 6e 75 72 73 65 72 79 20 73 63 68 6f 6f 6c 2f 63 72 e8 63 68 65 2f 64 61 79 2d 6d 6f 74 68 65 72
从PHP字符串:
43 68 69 6c 64 20 61 74 74 65 6e 64 69 6e 67 20 70 72 65 2d 73 63 68 6f 6f 6c 2f 6e 75 72 73 65 72 79 20 73 63 68 6f 6f 6c 2f 63 72 c3 a8 63 68 65 2f 64 61 79 2d 6d 6f 74 68 65 72
所不同的是“E8”与从PHP字符串“C3A8”或“E”,从DB和“A”。
那么,如何去确保PHP字符串仍然是“E”?