首页 > 编程知识 正文

php中使用key(php中使用什么函数可以获取字符串的长度)

时间:2023-12-24 12:05:36 阅读:320634 作者:OKIP

本文目录一览:

php如何根据某一个value获取其key

在一些PHP的场景之中可能会遇到,在PHP的数组中需要根据其中某一个value值来获取得到其key的值。这个时候就需要使用到PHP数组函数中的array_search()这个方法。

$array = array('test0','test1','test2');

$array1 = array('test0','test1','test2','test1');

$key = array_search('test1',$array);

$key1 = array_search('test1',$array1);

echo $key;

echo $key1;

输出都是1    

如果有重复的value输出第一个相匹配的key

扩展资料

使用方法:

$array = array(0 = 'blue', 1 = 'red', 2 = 'green', 3 = 'red');

$key = array_search('green', $array); // $key = 2;

$key = array_search('red', $array);   // $key = 1;

//array_key_exists()的使用方法

$search_array = array('first' = 1, 'second' = 4);

if (array_key_exists('first', $search_array)) {

  echo "The 'first' element is in the array";

}

//相关函数有

array_keys() - Return all the keys or a subset of the keys of an array

array_values() - Return all the values of an array

array_key_exists() - Checks if the given key or index exists in the array

使用php Memcache模块如何正确遍历所有KEY以及VALUE

   在php提供的用于与memcached交互的扩展模块中有memcached与memcache,前者提供方法getAllKeys用于遍历所有Memcached服务器上的key,但是并不保证原子操作,而后者却没有提供任何方法,虽然在PHP官方

文档中有人给出使用方法getExtendedStats来间接获取Memcached服务器上的所有key,但是给出的代码是有不少坑的,如果拿来就用,对于cluster的memcached服务器而言,有些问题就需要指出来。

       下面将给出官方文档中的代码,并指出可能面临的问题,代码如下:

?php

/**

* Function to get all memcache keys

* @author Manish Patel

* @Created:  28-May-2010

*/

function getMemcacheKeys() {

$memcache = new Memcache;

$memcache-connect('127.0.0.1', 11211) or die ("Could not connect to memcache server");

$list = array();

$allSlabs = $memcache-getExtendedStats('slabs');

$items = $memcache-getExtendedStats('items');

foreach($allSlabs as $server = $slabs) {

   foreach($slabs AS $slabId = $slabMeta) {

      $cdump = $memcache-getExtendedStats('cachedump',(int)$slabId);

      foreach($cdump AS $keys = $arrVal) {

         foreach($arrVal AS $k = $v){

           echo $k ."br";

         }

      }

    }

}//EO getMemcacheKeys() ?

       在上述代码中,如果用于获取单个memcached服务器上的key,是不存在任何问题,但是获取连接池中的多个memcached所有key就存在问题,会发现打印出重复的key,问题就在于当使用getExtendedStats用去特定$slabID

上的信息时,返回的是连接池中所有的服务器上的特定$slabId 的存储的keys信息。当$server为"127.0.0.1:11214"且$slabId为0将变量$cdump的信息打印出如下所示:

array(2) {

  ["127.0.0.1:11214"]=

  array(1) {

    ["course_schools__??¨é?¨"]=

    array(2) {

      [0]=

      string(1) "0" [1]=

      string(10) "12" }

  }

  ["127.0.0.1:11216"]=

  array(1) {

    ["monitorMemcache"]=

    array(2) {

      [0]=

      string(2) "10" [1]=

      string(10) "12" }

  }

}

当$server为"127.0.0.1:11216"且$slabId为0将变量$cdump的信息打印出如下所示:

array(2) {

  ["127.0.0.1:11214"]=

  array(1) {

    ["course_schools__??¨é?¨"]=

    array(2) {

      [0]=

      string(1) "0" [1]=

      string(10) "12" }

  }

  ["127.0.0.1:11216"]=

  array(1) {

    ["monitorMemcache"]=

    array(2) {

      [0]=

      string(2) "10" [1]=

      string(10) "12" }

  }

}

什么是PHP中的值?什么是PHP中的键?

ID 是 是某个体系中相对唯一的编码,在php的数组中叫做key

一个key(键)对应一个value(值)

php的数组并不是其他语言中数组的意义,因为其他强类型的语言数组一般都是定长,并且 下标 是固定的数字排列。而php的数组(内部实现是用类)的下标(key)可以是数字,也可以是其他的任何 标量 (数字,字符串等),而且当数组的key是数字的时候也可以不连续。如 4,6,7,9,这样的下标。

$_POST $_GET 都是系统内定的数组

而传值就是里面的一个变量。

$_POST['这里是表单中的属性name的值'] // 这个表达式的值是 表单中属性value的值

所以,这里理解的ID并不是单纯的数字下标,而是能够代表一个数组内容的实际的key

PHP 数组如何增加key

你直接给$return['a']赋值就好了。

比如$return本来是个空数组,我想加一个键名,同时赋值只需要

$return['key'] = "value";

如果键名空着就是用0,1,2这些下标了,他会自动增加

php实现数组按指定KEY排序的方法

本文实例讲述了php实现数组按指定KEY排序的方法。分享给大家供大家参考。具体实现方法如下:

function

array_sort($arr,$keys,$orderby='asc'){

$keysvalue

=

$new_array

=

array();

foreach

($arr

as

$k=$v){

$keysvalue[$k]

=

$v[$keys];

}

if($orderby==

'asc'){

asort($keysvalue);

}else{

arsort($keysvalue);

}

reset($keysvalue);

foreach

($keysvalue

as

$k=$v){

$new_array[]

=

$arr[$k];

}

return

$new_array;

}

希望本文所述对大家的php程序设计有所帮助。

PHP如何得到数组最后元素的key

用数组偏移可以实现,首先数组分下标连续的数组和非下标连续的数组,通俗的说就是数字下标和非数字下标,数字下标

$number=array(

0="hello",

1="world"

);

像以上这种类型的数组,想取出单个值,可以这样取:echo $number[0],结果会输出hello,当然还可以用for,foreach等依次遍历取出所有值。

非数字下标:

$abc=array(

"a"="this is array first value",

"b"="this is array two value"

);

这个数组也可以用上面偏移的方法取出单个值,下面例子就用foreach取出key和val:

foreach($abc as $key=$val){

echo $key.'/'.$val;

}

以上为纯原创手打,而且是手机打出来的,如果满意,请采纳

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。