将新元素添加到关联数组的所有示例都是"简单"的方式并且只有一维数组 - 我的理解问题是在数组中有数组(或者是数组中的对象?).
我有以下数组:
var test = [
{
value: "FirstVal",
label: "My Label 1"
},
{
value: "SecondVal",
label: "My Label 2"
}
];
Run Code Online (Sandbox Code Playgroud)
两个问题:如何从头开始生成这个关联数组(是...对象)?如何将新元素添加到现有数组?
谢谢你帮我理解javascript.
是否有任何php函数,例如in_array,你可以通过mysql函数"mysql_fetch assoc"获得关联数组?
例如,如果我有一个如下所示的$数组:
array(0=>(array(ID=>1, name=>"Smith"), 1=>(array(ID=>2, name=>"John"))
Run Code Online (Sandbox Code Playgroud)
我能做点什么吗 in_array(key,value,array)?
或者在我的情况下,如果我正在寻找ID值为"1" in_array("ID",1,$array),.
这是我的解决方案,如果您认为这是正确的方式,请对其进行评论:
function in_assoc_array($key,$value,$array)
{
if (empty($array))
return false;
else
{
foreach($array as $a)
{
if ($a[$key] == $value)
return true;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 声明关联数组时,如何处理数组元素的缩进?我见过很多不同的样式(PHP语法,因为那是我最近的样子).这是一个非常挑剔和琐碎的事情,所以如果你对更严肃的追求感兴趣,请继续前进.
1)缩进元素一个级别:
$array = array(
'Foo' => 'Bar',
'Baz' => 'Qux'
);
Run Code Online (Sandbox Code Playgroud)
2)缩进元素两个级别:
$array = array(
'Foo' => 'Bar',
'Baz' => 'Qux'
);
Run Code Online (Sandbox Code Playgroud)
3)缩进数组构造函数之外的元素,其中右大括号与构造函数的开头对齐:
$array = array(
'Foo' => 'Bar',
'Baz' => 'Qux'
);
Run Code Online (Sandbox Code Playgroud)
4)在数组构造之外的缩进元素,其中闭合支撑与开口支撑对齐:
$array = array(
'Foo' => 'Bar',
'Baz' => 'Qux'
);
Run Code Online (Sandbox Code Playgroud)
就个人而言,我喜欢#3 - 广泛的缩进清楚地表明我们处于代码中的断点(构造数组),并且使闭合括号在所有数组的数据的左侧浮动一点就清楚了这个宣言已经完成.
在计算机科学中,字图有两种定义.第一个是关联数组,一种容器类型,它将一种类型的值映射到另一种类型的值.一个例子是STL地图.第二个定义来自函数式编程,其中map是一个获取列表和函数的函数,按顺序将函数应用于列表的所有元素,并返回结果列表.
地图的不同定义的起源是什么?我猜测第二个定义可能来自McCarthy LISP的mapcar函数,但我不确定这是否来自另一个有用的.第一个定义对我来说很直观,但我不确定它的来源.
只是尝试为我指定的ID获取光标.
CREATE OR REPLACE PACKAGE some_package AS
TYPE t_cursor IS REF CURSOR;
TYPE t_id_table IS TABLE OF NVARCHAR(38) INDEX BY PLS_INTEGER;
PROCEDURE someentity_select(
p_ids IN t_id_table,
p_results OUT t_cursor);
END;
CREATE OR REPLACE PACKAGE BODY some_package AS
PROCEDURE someentity_select(
p_ids IN t_guid_table,
p_results OUT t_cursor)
IS
BEGIN
OPEN p_results FOR
SELECT *
FROM someschema.someentity
WHERE id IN (SELECT column_value FROM TABLE(p_ids)); - fails here
END;
END;
注意:someschema.someentity.id是一个NVARCHAR2(38)
PL/SQL:ORA-00382:表达式类型错误
PL/SQL:ORA-22905:无法访问非嵌套表项的行
我哪里错了?
在编写最近的应用程序时,我在我声明之前意外地开始填充数组.
error_reporting ( E_ALL);
$array['value'] = 'Test string';
Run Code Online (Sandbox Code Playgroud)
我使用E_ALL错误报告并且没有抛出错误.它是否正确?如果是这样,在声明数组值而从未声明实际数组时是否存在任何问题?也许它只是没有遵循良好的编程标准.
我有一个像这样的字符串:
key1\value1\key2\value2\key3\value3\key4\value4\key5\value5
Run Code Online (Sandbox Code Playgroud)
我希望它是一个关联数组,以便我能做到:
echo $myArray['key1']; // prints value1
echo $myArray['key3']; // prints value3
//etc...
Run Code Online (Sandbox Code Playgroud)
我知道我可以在反斜杠上爆炸,但不知道如何从那里开始.
我有3个数组,每个数组只有7个元素.数组是:
filename[]
title[]
description[]
我想表达并迭代上面数组中每个数据的单个关联数组.filename可以是assoc数组的键值,但每个文件名都有自己相应的标题和描述.
以下是一个示例:
var_dump($filename)
string(10) "IMG_1676_3" [1]=>
string(10) "IMG_0539_3" [2]=>
string(8) "IMG_1942" [3]=>
string(8) "IMG_1782" [4]=>
string(8) "IMG_2114" [5]=>
string(8) "IMG_9759" [6]=>
string(8) "IMG_2210" }
var_dump($title)
string(31) "Lighthouse at Ericeira Portugal" [1]=>
string(23) "Gaudi park in Barcelona" [2]=>
string(32) "Driving around outside of Lisbon" [3]=>
string(16) "Madeira Portugal" [4]=>
string(15) "Barcelona Spain" [5]=>
string(15) "Lisbon Portugal" [6]=>
string(14) "Sailing Lisbon" }
Run Code Online (Sandbox Code Playgroud) 所以我有这个关联数组(使用kint完成转储)
d
而不是让键Conference"重复"3次.我想只让它一次,并将3个值合并为一个,以便有类似的东西:
会议:4534
对于重复的所有其他键也一样
是否有可以做到这一点的本机功能?
我有以下XML:
<account>
<id>123</id>
<email></email>
<status>ACTIVE</status>
</account>
Run Code Online (Sandbox Code Playgroud)
我想把它作为一个数组变量.因此我读了它$xml = simplexml_load_file().将simpleXMLElement转换为关联数组的最简单方法是我用以下方法来研磨它:json_decode(json_encode((array) $xml),1);
问题是我不希望将email密钥作为空数组获取,而是作为NULL值.作为SimpleXMLElement,它看起来像:
public 'email' =>
object(SimpleXMLElement)[205]
Run Code Online (Sandbox Code Playgroud)
而在数组中它看起来像:
'email' =>
array (size=0)
empty
Run Code Online (Sandbox Code Playgroud)
我想得到:
'email' => NULL
Run Code Online (Sandbox Code Playgroud)
实现这一点的唯一方法我想到的是遍历所有元素并用空值替换空数组.问题是我的XML更大(上面只是解释问题)而且我必须迭代很多XML元素(这将是手工工作 - 我正在寻找自动化的东西).也许我错过了其中一个功能中的一些选项...或者可能还有另一个技巧可以做到这一点?
php ×7
arrays ×5
coding-style ×1
cursor ×1
dictionary ×1
explode ×1
formatting ×1
history ×1
javascript ×1
oracle ×1
plsql ×1
search ×1
string ×1
sum ×1
terminology ×1
xml ×1