我有一组值会定期更新。更新数组时,我想使用更新数组中的新值执行操作。
$old_node->field_name[0]['value'] = 'red'
$old_node->field_name[1]['value'] = 'yellow'
$old_node->field_name[2]['value'] = 'blue'
$updated_node->field_name[0]['value'] = 'green',
$updated_node->field_name[1]['value'] = 'red',
$updated_node->field_name[2]['value'] ='purple',
$updated_node->field_name[3]['value'] = 'blue',
所以'green'和'purple'的值是新数组中的新值。我需要通过一个函数运行每个添加到新数组的值。就像是:
foreach(of the newly added values that are in the new array){
//do stuff;
}
更新数组时可能会删除某些值,因此 key=>value 对可能会更改。
我试过了:
foreach($updated_node->field_name as $new_value){
if(!in_array($new_value['value'], $old_node->field_name) && $new_value['value'] !== NULL){
//Do stuff;
}
}
但这不起作用。我还尝试使用 array_diff 和 array_intersect 选择新值,但这也不起作用。