如何使用PHP实现java hashmap?

时间:2016-01-13 13:48:44

标签: hashmap

我使用PHP来处理以下输入: SAM 99912222 汤姆 11122222 掠夺 12299933 SAM 爱德华 掠夺 第1到第6行是姓名和电话号码。最后三行是搜索查询,如果名称不在列表中(没有电话号码,打印未找到),否则输出数据。我的代码如下:

<?php
$_fp = fopen("php://stdin", "r");
$list = array();
for($i = 0;$i<3;$i++){
    $name = strtolower(fgets($_fp));
    $phone = fgets($_fp);
    $list["$name"] = $phone;
}
for($i = 0;$i<3;$i++){
    $name = fgets($_fp);
    if(array_key_exists($name,$list)){
        echo "$name".'='."$list[$name]"."\n";
    }else{
        echo 'Not found'."\n";
    }
?>

例外输出应为sam = 99912222未找到harry = 12299933 输出为sam = 99912222未找到未找到。为什么这些功能不起作用? 这是hackerrank的一个问题。 我知道如果我在java中使用hashmap很容易解决。但是如何在PHP中解决这个问题呢? 非常感谢

1 个答案:

答案 0 :(得分:0)

首先,通过在任何地方使用trim(fgets($ _ fp))来修剪空白,而不仅仅是fgets($ _ fp) - 这至少可以解决我的问题。

其次,您粘贴的代码缺少第二个for循环的结束花括号。

第三,享受30天的代码:-)(一旦你完成了以上的理顺,你还需要在开头的条目数中读取你的代码,并且&#34;阅读查询直到结束-of-file&#34;在最后)。