Extrahujte souřadnice z souboru autocad dxf pomocí funkce explodovat php

Funkce explode () je poměrně jednoduchá, ale velmi užitečná a je používána nepřetržitě při kódování. Není-li tato možnost není použita, použijte regulární výrazy, ale jsou pomalejší tak výhodné pracovat s ready funkcí PHP, aby urychlila svůj program.

Explode php: popis funkce a její praktické aplikace

Funkce dostává vstupní řetězec, rozdělí se do děliče a přiřadí hodnotu pole s číselných tlačítek. Například soubor DXF pojďme extrahovat souřadnice a kreslit výkresy pomocí PHP GD knihovny. Soubor dxf je v podstatě dokument prostého textu, ve kterém jsou zapsány souřadnice všech výkresů. Vypadá to takto:
subjektů - je esence, LWPOLYLINE - uzavřený polygon, číslo 10 označuje souřadnice x, poté přejde význam (tj, x = 0,0), vztahová značka 20 je y, jeho hodnota na dalším řádku (tj, y = 500,0), nic skládání Najděte informace, které potřebujeme v souboru dxf. Chcete-li tuto funkci strchr (), zjistíme, že příroda (subjekty) a polygony (LWPOLYLINE)

obsah $ = file_get_contents ('stairs.dxf');
$ entities = strchr ($ obsah, "ENTITIES");
$ endec = strchr ($ entit, "ENDSEC", true);
$ entitie_string = $ endec;

Funkce explodování php vám pomůže získat souřadnice. V tomto případě použijte pouze polygon, ale výkresy a mnohé další postavy, protože přiřazení pole. Domníváme se, že pouze LWPOLYLINE:

V následujícím příkladu je poloha textu dokumentu LWPOLYLINE dxf:

$ lastPos = 0;
$ pozice_entities = array ();
foreach ($ entities_array jak $ key_needle = & gt; $ entitie) {
, zatímco (($ lastPos = strpos ($ entitie_string, $ entitie, $ lastPos)) == false!) {
$ positions_entities [$ lastPos] = $ entitie;
$ lastPos = $ lastPos + strlen ($ entitie);
}
}
$ array_keys_positions = array_keys ($ positions_entities);
$ sizeof_array_positions = sizeof ($ array_keys_positions);
pro ($ i = 0; $ i if (isset ($ array_keys_positions [$ i + 1])) {
$ entities_string_array [$ positions_entities [$ array_keys_positions [$ i]]] [$ array_keys_positions [$ i ]] = substr ($ entitie_string, $ array_keys_positions [$ i], $ array_keys_positions [$ i + 1] - $ array_keys_positions [$ i]),
,}
else {
$ entities_string_array [$ positions_entities [$ array_keys_positions [$ i]]] [$ array_keys_positions [$ i]] = substr ($ first_entitie_string, $ array_keys_positions [$ i]),
}
}

všechny řádky mnohoúhelníky jsou nyní v poli, to znamená, že máme tři mnohoúhelník, což znamená tři a tři klíčové hodnoty. hodnoty v souladu s informacemi z dXF souboru těchto polygonů. nyní je třeba zlomit tyto řádky z nichž si vybere souřadnice. pro tuto operaci orystovuyemo explodovat ():

Související publikace