当前位置: 首页 > 知识库问答 >
问题:

如何使用PHP实现java hashmap?

慕麒
2023-03-14

我使用PHP处理以下输入:sam 99912222 tom 1112222 harry 12299933 sam edward harry第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个答案

琴献
2023-03-14

首先,在任何地方使用trim(fgets($\u fp))而不是fgets($\u fp))来修剪空白,这至少可以修复我这边的问题。

第二,粘贴的代码缺少第二个for循环上的右括号。

第三,享受30天代码的乐趣:-)(一旦你理顺了上面的问题,你还需要让你的代码在开头的条目数中读取,并在结尾“读取查询直到文件结束”)。

 类似资料:
  • 问题内容: 我希望使用同时具有群聊和私人聊天功能的PHP / Javascript(Jquery)实现聊天室。 问题是如何以自然方式持续更新界面,还可能如何在私人聊天中显示“ X正在键入..”消息。 显而易见的方法似乎是,每隔X秒/毫秒,JavaScript将对服务器执行ping操作,并从上次ping到现在之间获取新消息的列表。但是,如果突然在聊天室中淹没了5条消息,这会使界面显得有些不自然。我希

  • 本文向大家介绍如何使用PHP Embed SAPI实现Opcodes查看器,包括了如何使用PHP Embed SAPI实现Opcodes查看器的使用技巧和注意事项,需要的朋友参考一下 PHP提供了一个Embed SAPI,也就是说,PHP容许你在C/C++语言中调用PHP/ZE提供的函数。本文就通过基于Embed SAPI实现一个PHP的opcodes查看器。 首先,下载PHP源码以供编译, 我现

  • 本文向大家介绍PHP如何使用cURL实现Get和Post请求,包括了PHP如何使用cURL实现Get和Post请求的使用技巧和注意事项,需要的朋友参考一下 先来看一下在PHP中建立cURL请求的基本步骤:   (1)初始化     curl_init()   (2)设置变量     curl_setopt() 。最为重要。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看

  • 问题内容: 我很快将使用Java的log4j类来创建项目。但是我不认为我对此有任何了解。希望有人能启发我这个小问题。 问题答案: Log4j基本上接受您要输出的任何语句,让您为其分配“严重性”级别(警告,错误,严重等),并以多种方式将其注销。(对于文件,字节流等,有很多附加选项可用。) 这是对log4j的简短介绍。 http://www.developer.com/open/article.php

  • 我想尝试使用SIMD指令编写一个atoi实现,以包含在RapidJSON(一个C JSON阅读器/写入器库)中。它目前在其他地方进行了一些SSE2和SSE4.2优化。 如果是速度增益,可以并行完成多个结果。这些字符串最初来自JSON数据的缓冲区,因此多原子函数必须执行任何所需的滑动。 我提出的算法如下: 我可以用以下方式初始化长度为N的向量:[10^N..10^1] 我将缓冲区中的每个字符转换为一

  • 我正在使用AudioTrack制作Android MP3播放器应用程序。我不能在任何情况下使用MediaPlayer,我使用16位单声道和44100Hz。我听说方法可以使用类实现,但我不太清楚这一点。请帮帮我。