我有一個這樣的數組,其中x座標和y座標形成一個單獨的條目。從數組中生成2個數組
$polygon = array("10 0", "20 5", "15 15", "22 15");
現在我怎樣才能打破這種陣列分成2個不同的陣列,使得所有的x座標會落入一個陣列和所有的y-座標將落入另一個數組,像這樣:
$x = array(10, 20, 15, 22);
$y = array(0, 5, 15, 15);
我有一個這樣的數組,其中x座標和y座標形成一個單獨的條目。從數組中生成2個數組
$polygon = array("10 0", "20 5", "15 15", "22 15");
現在我怎樣才能打破這種陣列分成2個不同的陣列,使得所有的x座標會落入一個陣列和所有的y-座標將落入另一個數組,像這樣:
$x = array(10, 20, 15, 22);
$y = array(0, 5, 15, 15);
$x = $y = array();
$polygon = array("10 0", "20 5", "15 15", "22 15");
foreach ($polygon as $coor) {
list($x[], $y[]) = explode(' ', $coor);
}
這將這樣的伎倆:)
並把它們合併回:
//assuming that $x and $y have the same number of items
for ($i = 0; $i<count($x); $i++) {
$polygon[] = $x[$i] .' ' . $y[$i];
}
試一下:
$x = array();
$y = array();
foreach($polygon as $entry){
$splitted = explode(" ", $entry);
//append x and y
$x[] = $splitted[0];
$y[] = $splitted[1];
}
也適用...謝謝 – 2011-02-28 09:54:53
尼斯使用列表()那裏,不知道這是有可能 – edorian 2011-02-28 09:40:07
感謝您的回答,只是想知道,如何做它的反向?我的意思是,如果我有$ x和$ y數組,如何生成$ polygon數組? – 2011-02-28 09:41:10
@dskanth看我的編輯:)。 – gnur 2011-02-28 09:49:54