我一定错过了正确的术语,否则我确信我可以通过搜索找到答案......无论如何,这就是我想做的。
通过 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
是否有任何 PHP 函数可以in_array()为关联数组执行?我知道如何处理foreach循环,但是有没有 PHP 函数或更优雅的方法来做到这一点?
我编写了一个 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) 我有下面的数组
$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 文件数组并且需要上面类型的数组结果。
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
我编写此代码是为了循环访问 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) 我想像这样构建一个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)
谢谢 !
我想知道有没有办法覆盖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) 这可能是我的一个简单的疏忽(或者比我的技能更先进的东西).我试图通过读取文件的输入动态填充二维关联数组.
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页面但是我没有看到它谈论动态生成它们.任何建议都会很棒!
尝试创建以下内容:
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