<?php

$entrada = array(
	array(col_1=>190, col_2=>340),
	array(col_1=>190, col_2=>54),
	array(col_1=>10, col_2=>20),
	array(col_1=>20, col_2=>40),
	array(col_1=>20, col_2=>50),
	array(col_1=>10, col_2=>30),
);

$name = "name";
$children = "children";
$var = array();

asort($entrada);

$ultimo = null;
foreach($entrada as $colunas) {
	if ( is_null($ultimo) || $ultimo[$name] != $colunas["col_1"] ) {
		if ( !is_null($ultimo) )
    	    array_push($var, $ultimo);
	    $ultimo = array($name=>$colunas["col_1"], $children=>array());
	}
	$ultimo[$children][] = array($name => $colunas["col_2"]);
}
if ( !is_null($ultimo) )
    $var[] = $ultimo;

$ip = json_encode($var, JSON_PRETTY_PRINT);

echo $ip;