在php中如何取键?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在php中如何取键?相关的知识,希望对你有一定的参考价值。

php中获取键值对的键有两种方式,都是通过函数来实现。

一种是通过array_search来查询,一种是通过array_keys来查询。

参考技术A

需要准备的材料分别是:电脑、php编辑器、浏览器。

php中已知数组键值取键名的步骤如下:

1、首先,打开php编辑器,新建php文件,例如:index.php。

2、在index.php中,输入代码:

$a = ['123' => 'test', '57' => 'world', 'abg' => 'php'];

$b = array_flip($a);

echo $b['php'];

3、浏览器运行index.php页面,此时就可以了。

参考技术B

在 PHP 中,可以通过以下方法访问数组的键:

    使用下标访问:例如:$array[0] 访问数组的第一个元素

    使用 foreach 循环:例如:

    $array = array("key1" => "value1", "key2" => "value2", "key3" => "value3");

    foreach($array as $key => $value)    

    echo $key . " : " . $value . "\\n";

      使用 array_keys 函数:例如:

      $array = array("key1" => "value1", "key2" => "value2", "key3" => "value3");

      $keys = array_keys($array);

      print_r($keys);



      以上方法都可以用来访问数组的键,您可以根据自己的需要选择使用。

    如何在 PHP 中启用 Socket?

    【中文标题】如何在 PHP 中启用 Socket?【英文标题】:How to enable Socket in PHP? 【发布时间】:2010-11-24 14:50:25 【问题描述】:

    谁能告诉我如何在 PHP 中启用 SOCKET 支持?

    【问题讨论】:

    【参考方案1】:

    此答案假定您确实有一个可访问的 php_sockets.dll 扩展文件(在您的 PHP 安装扩展目录或需要的地方);

    如果您使用的是 Windows,只需在您的 php.ini 文件中取消注释以下行:

    ;extension=php_sockets.dll
    

    如果您缺少php_sockets.dll,可以从php.net 下载。

    【讨论】:

    我有一台运行网站的 linux godadday 机器。如何在那里启用套接字编程? @user1051505 您可能会发现 GoDaddy 论坛中的 this discussion 会有所帮助。 我正在使用 XAMPP,但我收到了 "Call to undefined function socket_create()..." 错误。虽然我有php_sockets.dll 文件,但extension=php_sockets.dll 并未添加到php.ini。我不得不手动添加它。现在,它正在工作。 在 xampp 服务器中,它的 ;extension=sockets。这有帮助。【参考方案2】:

    此处描述的套接字函数是 PHP 扩展的一部分,必须在编译时通过提供 --enable-sockets 选项进行配置来启用。

    来自extension's documentation。

    【讨论】:

    【参考方案3】:

    对于那些在安装 RabbitMQ php 库时遇到此问题的人

    问题 1

    php-amqplib/php-amqplib ^2.11 的安装请求 -> 可满足 通过 php-amqplib/php-amqplib[v2.11.0]。 php-amqplib/php-amqplib v2.11.0 需要 ext-sockets * -> 您的系统中缺少请求的 PHP 扩展套接字。

    解决方案

    通过 php.init 将 ;extension=sockets 更改为 extension=sockets

    Screenshot

    注意事项:

    不是sockets.dll,只有sockets

    【讨论】:

    好吧,我没有用这个答案解决我的类似问题,但是这个答案是真的,我解决了它然后看到了这个答案。傻我:) 嘿兄弟,谢谢你的评论,是的,让我们解决更多问题。 请注意,它可能位于单独的 .ini 文件中。您可以使用php --ini 列出所有加载的文件。就我而言,我在20-sockets.ini.【参考方案4】:

    PHP Docker 镜像附带 3 个帮助脚本命令,可以更轻松地安装和配置扩展:

    docker-php-ext-configure:此命令允许您提供 扩展的自定义参数。 docker-php-ext-install:用这个 在容器中安装新扩展的命令。 docker-php-ext-enable:该命令可用于启用PHP 扩展名。

    运行

    docker-php-ext-install sockets
    

    参考:https://confluence.atlassian.com/bitbucket/php-with-bitbucket-pipelines-873907835.html#PHPwithBitbucketPipelines-InstallandenablePHPextensions

    【讨论】:

    如果您使用 docker,这是正确的答案 这显示了很多错误。 /usr/src/php/ext/sockets/sendrecvmsg.c:128:19: 错误: 'sizeof' 的无效应用, /usr/src/php/ext/sockets/sendrecvmsg .c:129:36: error: 'SCM_CREDS' undeclared, 最后:make: *** [Makefile:213: sendrecvmsg.lo] Error 1 (PHP 8.1 x64 )【参考方案5】:

    这里是新手说明

    在windows中进入你的php安装目录,可能是这样的c:\xampp\php

    里面的goto ext方向php\ext\

    检查您的目录中是否有 php_sockets.dll 之后打开 php.ini 文件,该文件将在您的 php 文件夹中 接下来搜索;extension=php_sockets.dll

    如果你找到它,然后从中删除 ;

    如果找不到,请搜索extension=

    然后在一些扩展名下添加extension=php_sockets.dll

    最后重新启动您的 apache。

    【讨论】:

    在 xampp 最新版本中你会发现 ;extension=sockets not this ;extension=php_sockets.dll 所以你需要删除 ;从 ;extension=sockets 并重新启动你的 apache。

    以上是关于在php中如何取键?的主要内容,如果未能解决你的问题,请参考以下文章

    Oracle 11g JDBC 预取键

    php中已知数组键值怎么取得键名

    字典常用语法

    python中怎么取出字典的键

    php 接收 Content-Type 是 application/json的请求数据

    jquery怎么循环获取JSON中的数据?