Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何将单个(可选)参数推入数组_Arrays_Neo4j_Cypher - Fatal编程技术网

Arrays 如何将单个(可选)参数推入数组

Arrays 如何将单个(可选)参数推入数组,arrays,neo4j,cypher,Arrays,Neo4j,Cypher,我正在尝试使用第一行中提供的属性填充数组(fruit.Price),其中包含以下密码的行: WITH [{Price_1:15,Price_2:20,Price_3:17,strFruit:"apples"},{Price_1:2,Price_2:1,Price_3:1.5,Price_4:3,strFruit:"pears"}] AS props UNWIND props as p MATCH (fruit:Fruit) WHERE fruit.strFruit=p.strFruit FORE

我正在尝试使用第一行
中提供的属性填充数组(
fruit.Price
),其中包含以下密码的
行:

WITH [{Price_1:15,Price_2:20,Price_3:17,strFruit:"apples"},{Price_1:2,Price_2:1,Price_3:1.5,Price_4:3,strFruit:"pears"}] AS props
UNWIND props as p
MATCH (fruit:Fruit) WHERE fruit.strFruit=p.strFruit
FOREACH (price in [p.Price_1,p.Price_2,p.Price_3,p.Price_4] |SET fruit.Price = fruit.Price + price) 
RETURN fruit
其中,
p.Price_u
n的最大数量为4,但并非全部都必须提供(如上所述,其中p.Price_4在第一行中缺失)。这些物业将始终连续供应,即如果没有价格3,价格4也不会供应

如何以这种方式用可变数量的元素填充数组?为了它的价值;我实际上使用的是HTTP Rest API,WITH行实际上是一个
参数:
命令

谢谢

我会使用
coalesce()
,不存在的默认值为0。此外,执行
reduce()
可能比执行
foreach()
更容易。(更新为用例/而不是合并时。)

更简单的方法是传递一个可变长度的数组
{prices:[15,20,17],strFruit:“apples”}
。。。或者只是总价(如果你能控制的话)


谢谢,韦斯,但这不是我想要的。我需要一系列的价格,而不是它们的总和。因此,对于第一行
水果.Price[15,20,17]
和第二行
水果.Price[2,1,1.5,3]
。我无法传入数组。
WITH [{Price_1:15,Price_2:20,Price_3:17,strFruit:"apples"},{Price_1:2,Price_2:1,Price_3:1.5,Price_4:3,strFruit:"pears"}] AS props
UNWIND props as p
MATCH (fruit:Fruit) WHERE fruit.strFruit=p.strFruit
SET fruit.Price = reduce(total = [], price in [p.Price_1,p.Price_2,p.Price_3,p.Price_4] | CASE WHEN NOT price is NULL THEN total + price ELSE total END) 
RETURN fruit