| @@ 1381-1403 (lines=23) @@ | ||
| 1378 | * @param string|PPNode_DOM|DOMDocument $args,... |
|
| 1379 | * @return array |
|
| 1380 | */ |
|
| 1381 | public function virtualImplode( $sep /*, ... */ ) { |
|
| 1382 | $args = array_slice( func_get_args(), 1 ); |
|
| 1383 | $out = []; |
|
| 1384 | $first = true; |
|
| 1385 | ||
| 1386 | foreach ( $args as $root ) { |
|
| 1387 | if ( $root instanceof PPNode_DOM ) { |
|
| 1388 | $root = $root->node; |
|
| 1389 | } |
|
| 1390 | if ( !is_array( $root ) && !( $root instanceof DOMNodeList ) ) { |
|
| 1391 | $root = [ $root ]; |
|
| 1392 | } |
|
| 1393 | foreach ( $root as $node ) { |
|
| 1394 | if ( $first ) { |
|
| 1395 | $first = false; |
|
| 1396 | } else { |
|
| 1397 | $out[] = $sep; |
|
| 1398 | } |
|
| 1399 | $out[] = $node; |
|
| 1400 | } |
|
| 1401 | } |
|
| 1402 | return $out; |
|
| 1403 | } |
|
| 1404 | ||
| 1405 | /** |
|
| 1406 | * Virtual implode with brackets |
|
| @@ 1202-1224 (lines=23) @@ | ||
| 1199 | * @param string|PPNode $args,... |
|
| 1200 | * @return PPNode_Hash_Array |
|
| 1201 | */ |
|
| 1202 | public function virtualImplode( $sep /*, ... */ ) { |
|
| 1203 | $args = array_slice( func_get_args(), 1 ); |
|
| 1204 | $out = []; |
|
| 1205 | $first = true; |
|
| 1206 | ||
| 1207 | foreach ( $args as $root ) { |
|
| 1208 | if ( $root instanceof PPNode_Hash_Array ) { |
|
| 1209 | $root = $root->value; |
|
| 1210 | } |
|
| 1211 | if ( !is_array( $root ) ) { |
|
| 1212 | $root = [ $root ]; |
|
| 1213 | } |
|
| 1214 | foreach ( $root as $node ) { |
|
| 1215 | if ( $first ) { |
|
| 1216 | $first = false; |
|
| 1217 | } else { |
|
| 1218 | $out[] = $sep; |
|
| 1219 | } |
|
| 1220 | $out[] = $node; |
|
| 1221 | } |
|
| 1222 | } |
|
| 1223 | return new PPNode_Hash_Array( $out ); |
|
| 1224 | } |
|
| 1225 | ||
| 1226 | /** |
|
| 1227 | * Virtual implode with brackets |
|