标签: associative-array

在 Javascript 中对值对进行排序

我一定错过了正确的术语,否则我确信我可以通过搜索找到答案......无论如何,这就是我想做的。

通过 javascript,我得到了四个想要排序的变量(A、B、C 和 D),并且仍然跟踪变量名称(因为它是用含义信息编码的)。

样本数据:

A = 2;
B = 1;
C = 4;
D = 3;
Run Code Online (Sandbox Code Playgroud)

我现在需要做的就是按值顺序(4,3,2,1)对它们进行排序,以便我实际上可以知道变量名称顺序(C,D,A,B)。

javascript sorting indexing associative-array multidimensional-array

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

如何在 PHP 中为关联数组执行 in_array

是否有任何 PHP 函数可以in_array()为关联数组执行?我知道如何处理foreach循环,但是有没有 PHP 函数或更优雅的方法来做到这一点?

php associative-array

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

MYSQL 缺少第一行数据

我编写了一个 PHP 脚本,其中返回餐厅名称、地址、电话号码、营业时间表和自定义菜单的链接。但是,即使数据库中有周一的条目,当我在 mysqli_fetch_assoc 中执行 while 循环时,它也不会显示。这是我的代码:

<?php
session_start();
$con=mysqli_connect("root","");
$rest_id2=$_GET['id'];
$rest_id=(int)$rest_id2;
var_dump($rest_id);
$sql="SELECT * FROM restaurant WHERE restaurant_id='".$rest_id."'";
$result=mysqli_query($con,$sql);
$rows=mysqli_fetch_assoc($result);
echo '<strong>'. "Restaurant name:". '</strong><br><br>';
echo $rows['restaurant_name'];
echo "<br><br>";
echo "<strong>Address: </strong><br><br>";
echo $rows['address_1']." ".$rows['address_2']." ". $rows['city']. ", ". 
$rows['state']. " ". $rows['zip']. "<br><br>";
echo '<strong>'. "Phone number:". '</strong><br><br>';
echo $rows['phone_number']. "<br><br>";
//hours table
$sql2="SELECT * from hours WHERE restaurant_id='".$rest_id."'";
$result2=mysqli_query($con,$sql2);
$row=mysqli_fetch_assoc($result2);
echo "<table border='1' cellpadding='10'><tr><th>Open or Closed</th> . 
<th>Day</th><th>Start Time</th><th>End Time</th></tr>";
$num_rows=mysqli_num_rows($result2);
// var_dump($num_rows);
while($row=mysqli_fetch_assoc($result2)){
    // var_dump($rows);
    if …
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli associative-array fetch

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

PHP:数组第一个值设置为其余值的键

我有下面的数组

  $a = [
    [
      0 => 'Name',
      1 => 'Address '
    ],
    [
      0 => 'Name 1',
      1 => 'Address 1'
    ],
    [
      0 => 'Name 2',
      1 => 'Address 2'
    ]
  ];
Run Code Online (Sandbox Code Playgroud)

如何将第一个元素值分配给其余的键?

所以就变成了

  $a = [
    [
      'Name' => 'Name 1',
      'Address' => 'Address 1'
    ],
    [
      'Name' => 'Name 2',
      'Address' => 'Address 2'
    ]
  ];
Run Code Online (Sandbox Code Playgroud)

所以基本上我得到了这个 Excel 文件数组并且需要上面类型的数组结果。

php arrays associative-array

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

出于性能原因,是否总是需要将哈希表的桶数设置为素数?

https://www.quora.com/Why-should-the-size-of-a-hash-table-be-a-prime-number?share=1

我看到有人提到哈希表的桶数最好是素数。

总是这样吗?当哈希值已经均匀分布时,就不需要使用素数了吗?

https://github.com/rui314/chibicc/blob/main/hashmap.c

例如,上面的哈希表代码没有使用素数作为桶的数量。

https://github.com/rui314/chibicc/blob/main/hashmap.c#L37

但哈希值是使用fnv_hash.

https://github.com/rui314/chibicc/blob/main/hashmap.c#L17

那么,为什么使用不一定是素数的存储桶大小是有意义的呢?

dictionary associative-array hashtable hashmap data-structures

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

如何在 Bash 中迭代关联数组(其中值是数组)?

我编写此代码是为了循环访问 LAN 上的用户名和域。遗憾的是,脚本没有打印任何内容。

#!/bin/bash

construct_array_of_trgts() {
  declare -A usrs_n_dmns
  
  local -a guest_dmns
  local -a usrs=("j" "jim" "o" "root")
  local -a guest_dmns=("raspberrypi" "lenovo")
  for d in "${guest_dmns[@]}"; do 
    PS3="Select the users to include for sshing into $d. Q when done selecting."$'\n'
    local -a targt_usrs
    select u in "${usrs[@]}"; do
      if [[ "$u" ]]; then
        targt_usrs+=("$u")
     elif [[ "$REPLY" == 'q' ]]; then 
      break;
     fi
    done
    usrs_n_dmns["${d}"]="$targt_usrs"
  done
  
}
construct_array_of_trgts

for d in "${!usrs_n_dmns[@]}"; do
  targt_usrs=("${usrs_n_dmns["${d}"]}")
  echo "$usrs_n_dmns"
  for u in "${targt_usrs[@]}"; …
Run Code Online (Sandbox Code Playgroud)

arrays bash for-loop associative-array

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

c#关联数组与字典

我想像这样构建一个Dictonary:

Dictionary<String, ArrayList> myDic = new Dictionary<String, ArrayList>();
Run Code Online (Sandbox Code Playgroud)

最后我想要一个像这样的结构:

["blabla"] => array(1,2,3)
["foo"] => array(1,4,6,8) 
.......
Run Code Online (Sandbox Code Playgroud)

构建这个我在循环中运行并在每个循环中构建一些字符串,

第一个问题:

每次如果字符串中存在此字符串,如果它不存在,如果在数组列表中有一个元素的字典中打开一个新条目,如果存在只添加另一个元素到数组列表

还有一个问题:

如何根据数组列表中的元素数量(按降序排序)对此字典进行排序,如:

["foo"] => array(1,4,6,2,8)     
["bar"] => array(4,6,2,8) 
["bla"] => array(1,2,3)
["blo"] => array(1,2)    
    .......
Run Code Online (Sandbox Code Playgroud)

谢谢 !

c# dictionary associative-array

0
推荐指数
1
解决办法
3616
查看次数

在C#中处理Hashtables时有没有办法避免转换?

我想知道有没有办法覆盖Hashtable(或Dictionary)类,所以它会自动对对象进行装箱/拆箱操作.换一种说法:

myHashtable["value1"] = "this_is_string";
myHashtable["value2"] = 123;

string a = myHashtable["value1"];
int b = myHashtable["value2"];
// errors as expected, since i need to cast it to specific type from object
Run Code Online (Sandbox Code Playgroud)

显然C#不允许用不同的类型覆盖公共T这个[对象键]操作符,因为我试图做这样的事情:

public int this[object key] { get { return (base[key] as int); } set {} } // etc
public string this[object key] { get { return (base[key] as string); } set {} } // etc
// error
Run Code Online (Sandbox Code Playgroud)

任何想法或提示什么是最简单的方法(如果有的话),以避免在C#中使用关联数组时进行转换(没有必要严格使用Hashtable)?如果没有办法做到这一点,我会很感激,如果有一个比我更有知识的人,解释为什么会这样,以及它背后的基本原理是什么.

谢谢.

编辑: 我需要它的原因是,我正在创建一个自定义的设置类.设置可能具有不同类型的值,例如让"HowManyItemsToDisplay"具有某个整数值,而"NameOfSomeControl"将是一个字符串.因此,在编写类似以下内容时避免任何转换会很好:

myControl.Text = MySettings["SomeTextValue"];
Run Code Online (Sandbox Code Playgroud)

要么

while (MySettings["SomeIntValue"] > …
Run Code Online (Sandbox Code Playgroud)

c# associative-array casting hashtable

0
推荐指数
1
解决办法
534
查看次数

Perl动态生成的多维联想阵列

这可能是我的一个简单的疏忽(或者比我的技能更先进的东西).我试图通过读取文件的输入动态填充二维关联数组.

my @data;
while (<FILE>) {
    chomp;

    my $ID,$COUNT;
    print "READ: " . $_ . "\n"; #Debug 1

    ($ID,$COUNT,undef,undef,undef) = split /\,/;
    print "DATA: " . $ID . "," . $COUNT . "\n"; # Debug 2

    $data{$ID}{"count"} = $COUNT;
    #push @{$data{$ID}{"count"}}, $COUNT; 

              print $data{$ID}{"count"} . "\n"; # Debug 3
}
Run Code Online (Sandbox Code Playgroud)

第一次打印(Debug 1)将打印类似des313,3 ,,,的行.

第二次打印(Debug 2)将打印一行DATA:des313,3

第三个打印(Debug 3)将打印一个空行.

这个问题似乎与我试图将数据插入关联数组的方式有关.我已尝试直接插入和推送方法没有结果.我用PHP完成了这个,但我想我在Perl中忽略了这一点.我确实看过HASHES HASHES部分中的perldoc perldsc页面但是我没有看到它谈论动态生成它们.任何建议都会很棒!

perl associative-array multidimensional-array

0
推荐指数
1
解决办法
2222
查看次数

Jquery使用动态键和多个值创建关联数组

尝试创建以下内容:

array('12345'=>'A01','A02','
A03''22222'=>'B01',
'33333'=>'C01','C02')

所以基本上每个键都是从另一个数组动态生成的.假设某个事件被触发后变量数字为'12345'.

我们有一个名为location的数组,例如这个数组('A01','A02','A03')

那么在主阵列上,它将映射两个数字和位置.这是每次有事件时我需要保存的数组.

在下一个事件执行中,我们将在数字变量(例如'22222')上获得新值,然后新的数组位置将覆盖另一个('B01'),例如,依此类推.

请记住,键将始终是动态的,值可以是1到50,例如我们不知道.我知道这更像是Jquery上的Object Literals.thx提前.

这是一段代码,需要能够获得密钥和值

             $.each(dragarray, function(index, value) {

                    dragid_loc['value'] = [];
                    // do loop to add each element of other array
                    $.each(draglocation, function(index2, value2) {
                        dragid_loc.value.push(value2);
                    });

            });

            console.log(dragid_loc);
Run Code Online (Sandbox Code Playgroud)

这条线似乎导致问题我不会将另一个数组draglocation的值推入每个.需要获得关键和价值.

dragid_loc.value.push(value2);
Run Code Online (Sandbox Code Playgroud)

arrays jquery associative-array object multidimensional-array

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