如果' 全局声明 '关联数组变量' ,则能够在OPEN CURSOR USING语句中使用它.
如果在包内声明 '关联数组变量' ,则在OPEN CURSOR USING语句中使用时,会出现编译错误.
更多细节如下
我将一些值存储在一个Associative Array变量中.稍后通过将它们带入Cursor来迭代这些值,如下所示,
strQuery := 'select DISTINCT column_value from table(CAST(:v_Assoc_Collection AS AssocArray_Date_t))';
OPEN RefCur_Item FOR strQuery USING v_Assoc_Collection;
Run Code Online (Sandbox Code Playgroud)
这里我使用了关联数组变量'v_Assoc_Collection',这是一种'AssocArray_Date_t'.
如果我在包[ CREATE OR REPLACE TYPE AssocArray_Date_t IS TABLE OF DATE;] 之外声明了类型'AssocArray_Date_t' ,那么它正常工作.
但是,如果我在过程中声明类型,则会出现编译错误.
错误:PLS-00457:表达式必须是SQL类型.在:"OPEN RefCur_Item FOR strQuery USING v_Assoc_Collection;"
错误:PL/SQL:语句被忽略.在:"OPEN RefCur_Item FOR strQuery USING v_Assoc_Collection;"
供参考,代码如下,
-- Package Declaration
CREATE OR REPLACE PACKAGE AssocTypePackage
AS
Type CursorType IS REF CURSOR;
PROCEDURE AssocTypeProcedure(name …Run Code Online (Sandbox Code Playgroud) 在我的PHP端,我有一组关联数组,如下所示:
Array (
[0] => Array (
[resultId] => 15
[testId] => 4
[accountId] => 35
[score] => 50
[standard_deviation] => 0.5
[answer_time] => 475.67
[created_at] => 2012-09-20 01:45:05
[groupId] => 4
[accountName] => hbbgrewkcx
[testName] => test1),
[1] => Array (
[resultId] => 14
[testId] => 3
[accountId] => 35
[score] => 60
[standard_deviation] => 0.5
[average_answer_time] => 386.1
[created_at] => 2012-09-20 01:44:56
[groupId] => 4
[accountName] => hbbgrewkcx
[testName] => test2)
)
Run Code Online (Sandbox Code Playgroud)
我想将此数组传输到javascript端.如何使这个关联数组数组的javascript对应并访问所需的值?
基本上我想要与foreach在PHP中给我相同的功能:
foreach($ArrayOfArrays as $array)
{ …Run Code Online (Sandbox Code Playgroud) 什么是最好的解决方案让awk存储搜索模式以及在数组中找到它的行..我需要一个shell脚本,或者它只能使用awk来完成..
所以,例如,如果我搜索单词'guitar',它会产生一个数组,其中包含例如在第13,18和89行找到该单词的信息?
awk '/home/ {
array[$0] = NR
}
END {
for(i in array) print i, array[i] }' 1-1000.txt
Run Code Online (Sandbox Code Playgroud)
例如,这将打印与找到它们的数字相匹配的行..但我不需要$ 0但是'home'模式,作为关联数组的索引,它将行作为值...但是然后又有问题如何有一个索引的多个值?
嘿,我有一个关联数组,其键为String,值为Int。因此,从该关联数组中,我需要获取具有最高值的键,如果多个键具有相同的值,则我需要具有最大长度的键。
那么最有效的方法是什么?
例
array = (
'abc' => 10,
'def' => 8,
'fff' => 3,
'abcr' => 10,
'adsfefs' => 10
)
Run Code Online (Sandbox Code Playgroud)
所以为此我应该将输出作为adsfefs
我需要在数组中推送更多键及其值.如果我使用下面的代码,第一个密钥对被第二个替换.
供你参考:
使用代码:
foreach ($projectData['projectsections'] as $key => $name) {
$projectData['projectsections'][$key] = ['name' => $name];
$projectData['projectsections'][$key]= ['id' => '1'];
}
Run Code Online (Sandbox Code Playgroud)
目前的结果:
'projectsections' => [
(int) 0 => [
'id' => '1'
],
(int) 1 => [
'id' => '1'
]
],
Run Code Online (Sandbox Code Playgroud)
预期:
'projectsections' => [
(int) 0 => [
'name' => 'test1',
'id' => '1'
],
(int) 1 => [
'name' => 'test2',
'id' => '1'
]
],
Run Code Online (Sandbox Code Playgroud)
如何在PHP中构建此数组?有人帮忙吗?
在preg_replace的文档中,它说你可以使用索引数组来替换多个字符串.我想用关联数组做这个,但它似乎不起作用.
有谁知道这确实不起作用?
我在程序中需要这个表http://code.google.com/apis/chart/docs/gallery/qr_codes.html#details,我甚至不确定是否可以使用关联数组.
给定类型(数字/字母数字),字符数和EC(纠错)级别,我想要一个函数来返回版本(第一列).
我想将一个关联数组从PHP代码传递给javascript代码.请帮我.我该怎么做呢 ?JSON对此事有帮助吗?如果是,那么请提供一个简单的帮助代码.谢谢.
来自以下评论:
HTML + PHP代码
<td>
<input type="text" style="width:70;" name="<?php echo $quantity;?>" id="<?php echo $quantity;?>" onkeyup="check_valid_range('<?php echo $itemName;?>','<?php echo $quantity;?>',<?php echo json_encode($product_inventory);?>);">
</td>
<script type="text/javascript">
function check_valid_range(product_field, quantity_field, inventory){
var product = document.getElementById(product_field).value;
var quantity = document.getElementById(quantity_field).value;
var v = inventory[product];
alert(v);
}
</script>
Run Code Online (Sandbox Code Playgroud) 我知道 .和$都有正确的关联性,所以
f . g . x
Run Code Online (Sandbox Code Playgroud)
将会
f . (g . x)
Run Code Online (Sandbox Code Playgroud)
我也知道.优先于大多数,这样
f . x + 5 * 4
Run Code Online (Sandbox Code Playgroud)
将会
f . ((x + 5) * 4)
Run Code Online (Sandbox Code Playgroud)
但是当你有
f g x
Run Code Online (Sandbox Code Playgroud)
关联性和优先性是什么?
我有两个数组,$ids 和 $quants(库存物品的 ID 和数量)需要组合,但不应替换或删除重复项,而是应将它们的值添加在一起。
目前我正在使用 array_combine() 但这意味着在存在多个相同 id 的情况下会丢失一些数量。
例如
$ids = Array(1, 1, 2, 3);
$quants = Array(10, 20, 30, 40);
Run Code Online (Sandbox Code Playgroud)
期望的输出:
$combined = Array(
[1] => 30
[2] => 30
[3] => 40
)
Run Code Online (Sandbox Code Playgroud)
预先感谢您的任何建议
associative ×10
arrays ×8
php ×6
javascript ×3
awk ×1
dictionary ×1
duplicates ×1
haskell ×1
json ×1
oracle ×1
plsql ×1
preg-replace ×1
sorting ×1
types ×1