在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
【讨论】:
在 xampp 最新版本中你会发现 ;extension=sockets not this ;extension=php_sockets.dll 所以你需要删除 ;从 ;extension=sockets 并重新启动你的 apache。以上是关于在php中如何取键?的主要内容,如果未能解决你的问题,请参考以下文章