3v4l.org

run code in 300+ PHP versions simultaneously
<?php $entity = new stdClass(); $entity->price['und'][] = array('amount' => 0, 'currency_code' => 'CAD', 'data' => FALSE); $entity->price2['und'][] = array('amount' => 0, 'currency_code' => 'CAD', 'data' => FALSE); function compare_filter($field, $array) { foreach ($array as $language => $items) { if (empty($items)) { unset($array[$language]); } else { foreach ($items as $delta => $item) { $array[$language][$delta] = array_filter(array_intersect_key($item, $field['columns'])); ksort($array[$language][$delta]); } } } return $array; } $field['columns'] = array('amount' => array(), 'currency_code' => array(), 'data' => array()); foreach (array('price', 'price2') as $field_name) { $items1 = compare_filter($field, (array) $entity->$field_name); } var_dump($entity);
Output for git.master, git.master_jit, rfc.property-hooks
object(stdClass)#1 (2) { ["price"]=> array(1) { ["und"]=> array(1) { [0]=> array(3) { ["amount"]=> int(0) ["currency_code"]=> string(3) "CAD" ["data"]=> bool(false) } } } ["price2"]=> array(1) { ["und"]=> array(1) { [0]=> array(3) { ["amount"]=> int(0) ["currency_code"]=> string(3) "CAD" ["data"]=> bool(false) } } } }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
37.13 ms | 402 KiB | 8 Q