这是我的第一个问题,请耐心等待!
我正在努力学习PHP并遇到一些我试图解决的问题。我没有以前的PHP经验,因此将这个问题的解决方案放在一起非常困难。
以下是问题: $ person_array = array(' Leanna',' derek',' Lisa',' John',' Lancelot', ' Michael',' Norman',' Lawrence of Arabia');
这是我思考的内容,它显然无法运作,我不知道该怎么做才能让它发挥作用:
$result = "";
foreach($person_array as $name){
$char = str_split($name)
foreach($char as $eval){
if($result === $eval){
return "";
}
else{
$result = $eval;
}
}
}
print $result;
答案 0 :(得分:1)
我建议加入数组中的所有元素并从那里开始。代码看起来会更好,只需要少一个周期,但性能应该类似。
$all_characters = implode('', $person_array);
$unique_characters = [];
foreach($all_characters as $char) {
if(!in_array($char, $unique_characters)) {
$unique_characters[] = $char;
}
}
答案 1 :(得分:0)
您可以遍历数组并通过字符串作为数组,创建一个新数组并使用array_keys()
获取密钥来查看; - )
<?php
$person_array = array('Leanna', 'derek', 'Lisa', 'John', 'Lancelot', 'Michael', 'Norman', 'Lawrence of Arabia');
$newArray = array();
foreach($person_array as $values) {
for($i = 0; $i < strlen($values); $i++) {
$newArray[$values[$i]] = '';
}
}
print_r(array_keys($newArray));
?>
输出:
Array
(
[0] => L
[1] => e
[2] => a
[3] => n
[4] => d
[5] => r
[6] => k
[7] => i
[8] => s
[9] => J
[10] => o
[11] => h
[12] => c
[13] => l
[14] => t
[15] => M
[16] => N
[17] => m
[18] => w
[19] =>
[20] => f
[21] => A
[22] => b
)
答案 2 :(得分:-1)
您可以使用array_unique函数http://in3.php.net/manual/en/function.array-unique.php
此处还有更正后的代码:
$result = array();
foreach($person_array as $name){
if( !in_array($name,$result) )
$result[] = $name;
}
print ($result);
OR
$result = array_unique($person_array);