Entering inner fields after attaching a field collection entity programmatically
Field collections are not stored in full with the Loaded node access via node_load(); only their entity ID.

The data does sometimes look like that, for example in a node form (because it actually has to create fields for them) and in a rendered node via node_view()(depending how you have set it in the view mode settings).

But you can load them easy enough and get the values that way.

Here is an example :

Dynamically creating a node with multiple field collections :

  global $user;
  $type = 'floor_staff_checklist';
  $event_id        = 12345;

  $chk_node        = new stdClass();
  $chk_node-&gt;type  = $type;
  $chk_node-&gt;title = '';
  node_object_prepare($chk_node);
  $chk_node-&gt;uid                           = $user-&gt;uid;
  $chk_node-&gt;nid                           = 0;
  $chk_node-&gt;status                        = 1;
  $chk_node-&gt;promote                       = 0;
  $chk_node-&gt;field_event[LANGUAGE_NONE][0] = array(
    'target_id'   =&gt; $event_id,
    'target_type' =&gt; 'node',
  );

  if ($type == 'floor_staff_checklist') {
    $time = strtotime("01-01-2000 19:30:00");
    for ($i = 0; $i &lt; 22; $i++) {
      $strtime = date("H:i", $time);
      $time += 1800;
      $flrchhk_fc = entity_create('field_collection_item', array('field_name' =&gt; 'field_floor_check'));
      $flrchhk_fc-&gt;setHostEntity('node', $chk_node);
      $flrchhk_fc-&gt;field_check_time[LANGUAGE_NONE][0]['value'] = $strtime;
      $flrchhk_fc-&gt;save();
    }
  }

  $chk_node = node_submit($chk_node);
  node_save($chk_node);
  drupal_goto("node/$chk_node-&gt;nid");
}


In this situation, I am creating a node, and creating 24 field collections within it, one for every hour, then saving the node.

And if you want to view the data :

$entity = entity_load_single($chk_node-&gt;nid);
if (isset($entity-&gt;field_floor_check[LANGUAGE_NONE]) &amp;&amp; !empty($entity-&gt;field_floor_check[LANGUAGE_NONE])) {
  $fcs = array_column($entity-&gt;field_floor_check[LANGUAGE_NONE], 'value');
  $items = entity_load('field_collection_item', $fcs);
  foreach ($items as $item) {
    dpm($item);
  }
}


This will load the node, access its references to the field collections, load them, and loop through them printing the contents through Krumo (Devel module).