标签: associative-array

如何将PHP数组转换为$ keys和$ values?

如果我有一个数组$keys => $values,我怎么能得到两个$keys$values

php arrays associative-array

5
推荐指数
3
解决办法
6146
查看次数

Django数组或列表输出?

我正在拉一组图片网址和各自的标题.我已经尝试创建一个哈希或关联数组,但数据似乎覆盖,所以我最终只得到数组中的最后一项.

例如;

thumbnail_list = []
for file in media:
    thumbnail_list['url'] = file.url
    thumbnail_list['title'] = file.title
Run Code Online (Sandbox Code Playgroud)

我甚至试过创建两个列表并将它们放在一个更大的列表中.

thumbnail_list.append('foo')
thumbnail_urls.append('bar')
all_thumbs = [thumbnail_list], [thumbnail_urls]
Run Code Online (Sandbox Code Playgroud)

我正在尝试从这些数据中创建一个链接:

<a href="image-url">image title</a>
Run Code Online (Sandbox Code Playgroud)

我一直在接近,但最终我在django模板中一次循环过多数据或所有数据.

想法?

编辑:也许zip()是我需要的?

questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
    print 'What is your {0}?  It is {1}.'.format(q, a)
Run Code Online (Sandbox Code Playgroud)

python django hash associative-array

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

ksh关联数组

我有一个需要使用关联数组的脚本.作为ksh的新手,我无法找到ksh支持关联数组的任何地方.当我尝试使用常规数组语法和赋值时,我得到一个错误,索引不能那么大.ksh是否支持关联数组?如果没有,替代解决方案是什么?

需要执行以下操作:$ {array [$ name]} = value,稍后在代码中,我需要读取$ {array [$ name]}的值.每次脚本运行时,我都要存储大约2000个值并从数组中读取.

不幸的是,我不能使用perl,因为遗留模块的范围要包含在脚本中.感谢任何帮助,提示或技巧.

ksh associative-array

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

在bash关联数组中使用变量作为键

我正在尝试将Linux中的英语词典读为一个关联数组,使用单词作为键并将预定义的字符串用作值。这样,我可以按关键字查找单词以查看它们是否存在。我还需要所有单词都小写。这很简单,但是bash语法妨碍了我。当我运行下面的代码时,出现“错误数组下标”错误。有什么想法为什么呢?

 function createArrayFromEnglishDictionary(){
        IFS=$'\n'
        while read -d $'\n' line; do
            #Read string into variable and put into lowercase.
            index=`echo ${line,,}`
            englishDictionaryArray[$index]="exists"
            done < /usr/share/dict/words
            IFS=$' \t\n'
    }
Run Code Online (Sandbox Code Playgroud)

linux syntax bash associative-array

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

从MySQL链接表SELECT查询创建PHP多维关联数组

我希望有人可以帮我解决这个问题.

假设我有3个DB表:

Users:
user_id, user_name
100, John
101, Jessica

Cars:
car_id, car_name
30, Corvette
31, BMW


UsersCars:
user_id, car_id, car_colour
100, 30, Red
101, 30, Green
101, 31, Green

(so John got a red corvette and Jessica has a green Corvette and a BMW)
Run Code Online (Sandbox Code Playgroud)

我想有代码返回一个多维PHP数组,如:

Array
(
    [100] => Array
    (
        [user_id] => 100
        [user_name] => John
        [cars] => Array
        (
            [car_id]=>30,
            [car_name]=>'Corvette',
            [car_colour]=>'Red'

        )            
    )
    [101] => Array
    (
        [user_id] => 101
        [user_name] => Jessica
        [cars] => Array
        ( …
Run Code Online (Sandbox Code Playgroud)

php mysql performance associative-array multidimensional-array

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

实现从PhP到Python的跨越

我是一个相当舒服的PHP程序员,并且几乎没有Python经验.我正在尝试用他的项目来帮助一个伙伴,代码很容易用Php编写,我已将其中大部分移植过来,但如果可能的话需要一些帮助来完成翻译.目标是:

  • 使用uid生成基本对象列表
  • 随机选择几个项目以创建第二个列表,该列表键入包含新属性的uid.
  • 测试两个列表之间的交叉点以相应地改变响应.

以下是我尝试在Python中编写代码的工作示例

<?php
srand(3234);
class Object{  // Basic item description
    public $x       =null;
    public $y       =null;
    public $name    =null;
    public $uid     =null;
}
class Trace{  // Used to update status or move position
#   public $x       =null;
#   public $y       =null;
#   public $floor   =null;
    public $display =null;  // Currently all we care about is controlling display
}
##########################################################
$objects = array();
$dirtyItems = array();

#CREATION OF ITEMS########################################
for($i = 0; $i < 10; $i++){
    $objects[] = …
Run Code Online (Sandbox Code Playgroud)

php python associative-array

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

PHP - 使我的查询的数组键成为ID

所以我有这个图像数组拉,数组的键只有0,1,2,3,4,5 ....等等......

如何将该表的"id"列中的值作为键,并将"link"作为值.

关联数组,没有?

这是我的PHP:

$myImageID = $me['imageid'];

$findImages = "SELECT link FROM images WHERE model_id ='{$me['id']}'";
$imageResult = mysql_query($findImages) or die (mysql_error());

$myImages = array();
while($row = mysql_fetch_array($imageResult)) {
    $myImages[] = $row[0];
}
Run Code Online (Sandbox Code Playgroud)

这是我有的:

{
 [0] -> "http://website.com/link.jpg"
 [1] -> "http://website.com/li123nk.jpg"
 [2] -> "http://website.com/link3123.jpg"
}
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

{
 [47] -> "http://website.com/link.jpg"
 [122] -> "http://website.com/li123nk.jpg"
 [4339] -> "http://website.com/link3123.jpg"
}
Run Code Online (Sandbox Code Playgroud)

php mysql arrays associative-array

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

Bash间接引用关联数组

在这个非常简单的示例中,我需要解决数组元素的键和值:

declare -A writer
writer[H.P.]=Lovecraft
writer[Stephen]=King
writer[Clive]=Barker
writer[Jack]=Ketchum

for i in ${!writer[@]}
do
    echo "$i ${writer[$i]}"
done

fullname()
{
    pointer=$1[@]
    for i in "${!pointer}"
    do
        echo "? $i"
    done
}
fullname writer
Run Code Online (Sandbox Code Playgroud)

该函数必须以与之前的示例循环相同的格式显示输出,并且它应该接收数组名称,键列表或值,所有这些都是我尝试过的,但没有成功.任何建议都非常感谢.

arrays bash pointers associative-array key

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

如何在AutoHotkey中找到关联数组的长度?

如果在关联数组上使用length()函数,它将返回数组中正在使用的“最大索引”。因此,如果您有任何非整数的键,则length()不会返回数组中元素的实际数量。(这也可能由于其他原因发生。)

有没有更有用的length()版本来查找关联数组的长度?

还是我需要实际循环计算每个元素?我不确定在不事先知道所有可能的键的情况下该怎么做。

associative-array autohotkey

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

Bash:如何使用包含方括号或其他特殊字符的键来持久化和恢复关联数组

问题

declare -p获取有效Bash关联数组的结果,其中键包含方括号会导致错误的数组下标错误.

测试程序

做:

$ declare -A array
$ key='var[0]'
$ array["$key"]=37
$ echo ${array["$key"]}
37
$ declare -p array > def.sh
$ cat def.sh
declare -A array='(["var[0]"]="37" )'
$ . def.sh
bash: [var[0]]=37: bad array subscript
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,请注意:

  • 我能够指定包含方括号的键: var[0]
  • 该密钥引用了setter和getter
  • 我可以使用此密钥进行分配
  • 我可以使用此键从关联数组中获取值
  • 使用declare -p我能够将此定义保存到文件:def.sh
  • 在获取文件时def.sh会发出错误.

我的环境

  • 我正在使用的Bash版本是4.2.46(1)-release(x86_64-redhat-linux-gnu).
  • 我在CentOS 7.3.1611(核心)服务器上

解决方法

如果不是declare -p array > def.sh我这样做:

{
echo 'declare -A array'
for Key in "${!array[@]}"; …
Run Code Online (Sandbox Code Playgroud)

bash associative-array special-characters declare

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