标签: array-key

PHP - 获取数组值的键名

我有一个数组如下:

function example() {
    /* some stuff here that pushes items with
        dynamically created key strings into an array */

    return array( // now lets pretend it returns the created array
        'firstStringName' => $whatEver,
        'secondStringName' => $somethingElse
    );
}

$arr = example();

// now I know that $arr contains $arr['firstStringName'];
Run Code Online (Sandbox Code Playgroud)

我需要找出索引,$arr['firstStringName']以便我能够循环array_keys($arr)'firstStringName'通过其索引返回键字符串.我怎样才能做到这一点?

php arrays array-key

139
推荐指数
9
解决办法
33万
查看次数

如何获取数组中键的位置

好的,所以我需要在这个数组中抓住'blah'的位置(位置不会总是一样).例如:

$array = (
    'a' => $some_content,
    'b' => $more_content,
    'c' => array($content),
    'blah' => array($stuff),
    'd' => $info,
    'e' => $more_info,
);
Run Code Online (Sandbox Code Playgroud)

所以,我希望能够返回'blah'键位于数组中的位置.在这种情况下,它应该返回3.我怎么能快速做到这一点?而且不会影响$ array数组.

php arrays array-key

34
推荐指数
2
解决办法
5万
查看次数

可以在PHP中使用array [key]吗?

是否可以使用没有单引号或双引号的数组,如$ array [key]?我认为这很糟糕,因为如果我不使用单引号或双引号,PHP会先寻找常量.我的一位同事告诉我,这没关系.

你们有什么感想?

php array-key

23
推荐指数
2
解决办法
5225
查看次数

如何使用以前缀开头的键获取$ _POST数组的子集

假设我的$_POST变量看起来像:

<?php

Array
(
    [user_ID] => 65
    [action] => editpost
    [originalaction] => editpost
    [post_author] => 154
    [empl_bd_dd] => 6
    [empl_bd_mm] => 5
    [empl_bd_yy] => 1987
    [empl_gen] => 1
    [empl_height] => 155
    [empl_weight] => 61
    [empl_arra] => 2
    [save] => Update
    [post_it] => 2
    [empl_pay] => J77
    [empl_cust] => Married
    [empl_lang] => Array
        (
            [0] => EN
            [1] => FR
        )
    [empl_rent] => 1
    [name] => Jimmy Nathan
    [empl_text] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec …
Run Code Online (Sandbox Code Playgroud)

php arrays array-key

10
推荐指数
2
解决办法
5224
查看次数

用给定的相应键替换数组键

我有一个像下面的数组

$old = array(
       'a' => 'blah',
       'b' => 'key',
       'c' => 'amazing',
       'd' => array(
                0 => 'want to replace',
                1 => 'yes I want to'
              )
       );
Run Code Online (Sandbox Code Playgroud)

我有另一个数组,有密钥替换密钥信息.

$keyReplaceInfoz = array('a' => 'newA', 'b' => 'newB', 'c' => 'newC', 'd' => 'newD');
Run Code Online (Sandbox Code Playgroud)

我需要用数组$old中的相应值替换数组的所有键$keyReplaceInfo.

输出应该是这样的

$old = array(
       'newA' => 'blah',
       'newB' => 'key',
       'newC' => 'amazing',
       'newD' => array(
                0 => 'want to replace',
                1 => 'yes I want to'
              )
       );
Run Code Online (Sandbox Code Playgroud)

我必须手动完成,如下所示.我期待更好的选择.有谁能建议更好的方法来实现这一目标?

$new …
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array array-key

9
推荐指数
2
解决办法
2万
查看次数

array_key_exists不起作用

array_key_exists不适用于大型多维数组.对于前者

$arr = array(
    '1' => 10,
    '2' => array(
        '21' => 21,
        '22' => 22,
        '23' => array(
            'test' => 100,
            '231' => 231
        ),
    ),
    '3' => 30,
    '4' => 40
);
Run Code Online (Sandbox Code Playgroud)

array_key_exists('test',$ arr)返回'false'但它适用于一些简单的数组.

php arrays array-key

8
推荐指数
1
解决办法
1万
查看次数

如何通过仅接管第二个数组中与第一个数组具有相同键的值来合并两个数组?

我想将两个数组相互合并:

$filtered = array(1 => 'a', 3 => 'c');
$changed = array(2 => 'b*', 3 => 'c*');
Run Code Online (Sandbox Code Playgroud)

合并应包括其中所有元素的$filtered所有元素以及$changed具有相应键的所有元素$filtered:

$merged = array(1 => 'a', 3 => 'c*');
Run Code Online (Sandbox Code Playgroud)

array_merge($filtered, $changed)将增加的附加键$changed进入$filtered为好.所以它并不适合.

我知道我可以$keys = array_intersect_key($filtered, $changed)用来获取两个数组中存在的密钥,这已经是工作的一半.

但是我想知道是否有任何(本机)函数可以将$changed数组减少到具有$keys指定的数组array_intersect_key?我知道我可以使用array_filter回调函数并在$keys其中进行检查,但是可能还有一些其他纯粹的本机函数只能从一个可以指定键的数组中提取那些元素?

我问,因为本机函数通常比array_filter回调快得多.

php arrays filter array-merge array-key

8
推荐指数
1
解决办法
4918
查看次数

PHP数组键值

我有一个数组像这样

$data = array(
    "some"   => "163",
    "rand"  => "630",
    "om"    => "43",
    "words" => "924",
    "as"    => "4",
    "keys"  => "54"
);
Run Code Online (Sandbox Code Playgroud)

如何将每个集合的键与其值相关联,如下所示:

foreach ($data as $stuff){
  $this->$stuff["key"] = $stuff["value"];
}
Run Code Online (Sandbox Code Playgroud)

php arrays foreach key array-key

6
推荐指数
2
解决办法
2万
查看次数

为php这样的键填充javascript数组的简写

在Javascript中,知道我可以设置一个数组,以便键是自动编号(从0开始)分配的数组:

var d_names = new Array("Sunday", "Monday", "Tuesday", 
              "Wednesday", "Thursday", "Friday", "Saturday");

// Key for Sunday is '0' 
Run Code Online (Sandbox Code Playgroud)

如果我想分配密钥,我可以这样做:

    var d_names={};
    d_names[5]="Sunday";
    d_names[6]="Monday";
    d_names[7]="Tuesday";
    d_names[8]="Wednesday";
    d_names[9]="Thursday";
    d_names[10]="Friday";
    d_names[11]="Saturday";

    // Key for Sunday is '5'
Run Code Online (Sandbox Code Playgroud)

但有没有像PHP中那样分配键的简写方法?

var d_names = new Array(5=>"Sunday", 6=>"Monday", 7=>"Tuesday", 8=>"Wednesday", 
            9=>"Thursday", 10=>"Friday", 11=>"Saturday"); 

// Doesn't work
Run Code Online (Sandbox Code Playgroud)

javascript arrays shorthand array-key

5
推荐指数
1
解决办法
6076
查看次数

如何访问$ array [@key]值

我正在使用expedia API并且它运行良好,但我不知道如何访问这种特殊类型的数组键.回复如下

$response = 
stdClass Object
(
    [@size] => 1
    [@activePropertyCount] => 144
    [city] => 1
    [@hotelId] => 12345
    [HotelSummary] => stdClass Object
        (
            [@order] => 0
            [@ubsScore] => 1074874
            [hotelId] => 151689
            [RoomRateDetailsList] => stdClass Object
                (
                    [RoomRateDetails] => stdClass Object
                        (
                            [roomTypeCode] => 195577
                            [rateCode] => 202369379
                            [maxRoomOccupancy] => 3
                            [quotedRoomOccupancy] => 2
                            [minGuestAge] => 0
                            [roomDescription] => Deluxe Room
                            [propertyAvailable] => 1
                            [propertyRestricted] => 
                            [expediaPropertyId] => 526332
                        )
                )
        )
)
Run Code Online (Sandbox Code Playgroud)

我想在'city'键下访问@hotelId的值,但我不能

我试过两种类型,但两次失败都没有

$response->hotelId
and 
$response->@hotelId
Run Code Online (Sandbox Code Playgroud)

请帮帮我..提前谢谢你

php arrays arrayobject array-key

4
推荐指数
1
解决办法
181
查看次数