gpt4 book ai didi

php - AWS SDK for PHP DynamoDB PutItem 仅适用于非空变量

转载 作者:搜寻专家 更新时间:2023-10-31 21:30:38 26 4
gpt4 key购买 nike

我正在将数组中的变量插入 AWS DynamoDB$dbf[$a]['变量1'], $dbf[$a]['变量2'], $dbf[$a]['变量3'] ...

对于一些$a,只设置了'variable1'和'variable2',并且对于其他 $a,所有“变量#”都已设置。

下面的代码将无法运行,因为 Null 或未设置的变量不是允许。

在循环中是否有一种方法可以只尝试为已设置的变量“PutItem”?

foreach($dbf as $day)
{
$result = $client->PutItem(array(
'TableName' => 'AWIS',
'Item' => array(
'id' => array('S' => $day['id']),
'date'=> array('S' => $day['date']),
'max'=> array('N' => $day['max']),
'min'=> array('N' => $day['min']),
'pre'=> array('N' => $day['pre']),
'max_soil_temp'=> array('N' => $day['max_soil_temp']),
'min_soil_temp'=> array('N' => $day['min_soil_temp']),
'evap'=> array('N' => $day['evap']),
'veg_wetting'=> array('N' => $day['veg_wetting']),
'solar_rad'=> array('N' => $day['solar_rad']),
'ob_temp'=> array('N' => $day['ob_temp']),
'adj_min'=> array('N' => $day['adj_min']),
'chill_hours'=> array('N' => $day['chill_hours'])
),
));
}

最佳答案

你可以这样做:

if ($yourValue) {
$params['yourKey'] = array(
'Action' => 'PUT',
'Value' => array(
Type::STRING => $yourValue
)
);
}

$response = $Client->updateItem(array(
"TableName" => "tableName",
"Key" => array(
"Id" => array(
Type::STRING => $Id
)
),
"AttributeUpdates" => $params
)
);

设置所有在循环中可用的参数,并只更新那些可用的值

希望对你有帮助

关于php - AWS SDK for PHP DynamoDB PutItem 仅适用于非空变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com