PHP:str_替换的小问题
我需要用一个修改过的字符串来处理array_key_exists,然而,我之前遇到了一个小问题 以下说明了这一点:PHP:str_替换的小问题,php,Php,我需要用一个修改过的字符串来处理array_key_exists,然而,我之前遇到了一个小问题 以下说明了这一点: $loggers = array('StackOverflow' => 'Stack Overflow'); $logger_name = str_replace(' ', '', $header['fromaddress']); //Remove space echo $logger_name; echo $loggers[$logger_name]; echo $logg
$loggers = array('StackOverflow' => 'Stack Overflow');
$logger_name = str_replace(' ', '', $header['fromaddress']); //Remove space
echo $logger_name;
echo $loggers[$logger_name];
echo $loggers['StackOverflow'] . '<br/>';
更多编辑:
看起来问题在于第一个输出,即使它说“StackOverflow”,但在使用函数strlen($logger_name)…时,它的长度为35。。。我不知道为什么,如果有任何方法可以将其转换为正确的字符串?我假设您的$header['fromaddress']的值不是“堆栈溢出”,假设它是“堆栈溢出” str_replace(“”,,$header['fromaddress']) 将此转换为“stackoverflow” 这不会给您输出,因为PHP中的数组键区分大小写
echo $loggers[$logger_name]; // $loggers['stackoverflow']
echo $loggers['StackOverflow'];
这是更新后的代码和输出
$loggers = array('StackOverflow' => 'Stack Overflow');
$logger_name = str_replace(' ', '', 'Stack Overflow'); //Remove space
echo $logger_name. '<br/>';
echo $loggers[$logger_name]. '<br/>';
echo $loggers['StackOverflow'] . '<br/>';
使用以下命令:
$text = "This is a test";
$array = explode(' ', $text);
$exists = array_key_exists($key, $array);
echo $exists;
希望这有帮助您删除了空格,当然它们不会是相同的。我不确定您有什么问题?第一行导致$test更改为'thisistest',显然它不等于'thisatest'?很抱歉给你带来了困惑,我很高兴我为你的一天带来了欢乐:pWhat's
var\u dump($logger\u name)代码>说什么?它应该是string(13)“StackOverflow”
。它实际上是说string(35)“StackOverflow”:sand头数组呢?更新了我的答案,你现在可以试试吗?不。。。您可以看到我在哪里显示echo$logger\u name为StackOverflow的输出
StackOverflow
Stack Overflow
Stack Overflow
$text = "This is a test";
$array = explode(' ', $text);
$exists = array_key_exists($key, $array);
echo $exists;