台灣最大程式設計社群網站
線上人數
1026
 
會員總數:245116
討論主題:189028
歡迎您免費加入會員
討論區列表 >> PHP >> 關於多維陣列該如何表示
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於多維陣列該如何表示
價值 : 20 QP  點閱數:1181 回應數:23

樓主

蒼天浩月
初級專家
1383 284
5152 1313
發送站內信

各位大大們您好:
請問一下 底下有一個陣列

[chk] => Array
(
[0] => 162850
[1] => 162857
)

[SelectItem1] => 青菜
[clothes_size1] => Array
(
[0] => 絲瓜
[1] => 小
)

[SelectItem3] => 水果
[clothes_size3] => Array
(
[0] => 哈密瓜
[1] => 大
[2] => 餐點(有)
)

[total_num] => 3
[member_login] => 1

我想要的需求是 當chk[0]時帶出162850 及青菜 絲瓜 小,當chk[1]帶出162857 ,水果 哈密瓜 餐點(有)
請問這樣子要怎麼用foreach表示呢?謝謝!

搜尋相關Tags的文章: [ 陣列 ] ,
本篇文章發表於2016-09-21 08:20
== 簽名檔 ==
在學習的過程中沒有結束的一天.
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

蒼天浩月
檢舉此回應
目前寫出來的語法是這樣
本篇文章回覆於2016-09-21 08:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
你的需求不清不楚。完全不知道你想要做什麼

這種特殊格式的陣列,你就得照一定的規則去顯示。

問題是你連需求都搞不清楚。要叫人怎麼寫?

是要怎麼呈現??只是要列出的話。用print_r就好了啊。

chk是什麼,SelectItem1幹啥用的。這些你都不說清楚。
而且你要呈現出怎麼樣的畫面跟資料。你也不說。

這樣的問題真的要問神了,才有辦法幫你解決。
本篇文章回覆於2016-09-21 09:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

蒼天浩月
檢舉此回應
TO 星空大大,我的需求有說明哦@@
在#1處的最下方

我想要的需求是 當
chk[0]時帶出162850 青菜 絲瓜 小
chk[1]帶出162857 水果 哈密瓜 餐點(有)
這樣子的排列
請問這樣子要怎麼用foreach表示呢?謝謝!
因為那些陣列名稱只是個名稱而已,我只是舉例說明

最主要這些值是最後會進資料庫,可能我表達方式不佳 讓你造成誤會了~
本篇文章回覆於2016-09-21 09:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
我也沒看懂,畢竟全都是些不合PHP格式的內容......
按照最後的需求大致猜測了一下,是需要能抓不確定維數的多維陣列中的所有值?
看看這個是不是你要的吧?

本篇文章回覆於2016-09-21 10:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

蒼天浩月
檢舉此回應
已自行寫出 語法如下

本篇文章回覆於2016-09-21 10:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

可樂快跑
檢舉此回應
唉!我只有一句話想說:
「只有在資料沒有做為規劃或是「正規劃」的情形下才會寫出如此不堪入目的code」……

希望這東西不是你規劃的……
本篇文章回覆於2016-09-21 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
你還是搞不清楚我說的重點在哪。

因為你問如何用foreach處理,你已經將問題限制在這堣F。
但實際上你要的東西是陣列值分配式。這其中的規則,只有你懂。我們不可能懂。
我其實有大致上了解你要的東西是什麼。
我只是想告註你你的重點在哪

我不了解的是,這是一個很簡單的工作,已經與程式無關。
簡單來講,只要將SelectItem??跟clothes_size??這兩種值另外分配組合就好。
更不懂的事,我不認為這樣的事情你會無法處理。因為太簡單了。
所以才會猜想你是否要其它怎麼樣的方式處理。

我不了解的地方是。為何clothes_size1然後會跳到3???

那是否會再出現第三組資料呢??那如果第三組資料出來又要怎麼處理呢??
還是不會有這樣的機會??

問一個問題,是可以顯示出這個人的專業程度在哪。
因為要可以能讓人明白你要的需求是什麼。
如果連你都不明白了,這也代表你目前還不知所措,不知何謂的情況。
更不要想要讓人家明白了~~

懂嗎?
本篇文章回覆於2016-09-21 11:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
還有~~~你的解決方式。這是一種很要不得的行為。

使用了雙回圈在堶捷]sql,這是因該要避免的事。這很危險的。

而且你的東西,如果可以,在表單去規劃好。不要來php內傷腦筋。
我知道你可能聽不懂我說什麼。

因為除非資料來源是來自無法控制的區塊。要不然都因該要去設計好規劃讓程式好處理。
本篇文章回覆於2016-09-21 11:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

蒼天浩月
檢舉此回應
報歉,因為這個問題頗為複雜,才會想盡量簡化看樣子我的回覆還是造成大家的困擾 那我說個詳細一點好了

這是一個ajax傳回來的表單資料

裡面的欄位有


上述的code 就會得到我一開始提出問題的陣列

『星空大大』您提到說
Q:只要將SelectItem??跟clothes_size??這兩種值另外分配組合就好。
更不懂的事,我不認為這樣的事情你會無法處理。因為太簡單了。
所以才會猜想你是否要其它怎麼樣的方式處理。

我不了解的地方是。為何clothes_size1然後會跳到3???

A:clothes_size 是用陣列跑出來的(還有搭配JQUERY) 1 跳到3 的原因是 clothes_size 一共有 3個 分別是clothes_size1,clothes_size2,clothes_size3

只出現clothes_size1 和3 是因為只有這2個陣列有選到值 而clothes_size2 是沒有選到的
因為資料庫的欄位表上,必需要有chk ,clothes_size,和 SelectItem 這三個陣列上的值 所以我才會提問時提到如何用foreach表示出來

假設chkbox 有很多個,假設我勾了其中2項 都要帶出SelectItem ,chk ,clothes_size 這三個值,
而這三個值是用陣列去跑的,但是其中selectitem 只是一個字串
本篇文章回覆於2016-09-21 11:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
其實~~~~真的很想勸你一件事。

你打掉重做會比較好

你說這件事情很複雜??
其實一點也不複雜。

為何會複雜??因為你將他搞到很複雜。

說真的,看你的程式碼,我還真不知道該從何下手。不知道要怎麼幫你改起。

如果真要我幫你改的話,我想~~~我會打掉你全部的程式碼重寫。

我說一句狠心的話好了,聽的下去就聽,聽不下去就當我放屁好了。
你的問題,並不是後面要處理froeach的問題了。

你最大的問題則是你整個表單節構上的問題了。然後才去造成你現在碰到的問題。

如果你不想聽的話。未來你的「創作」路上。你會走的很艱難。

最後你告訴你一些話。
寫程式就好像是在鋪石頭加地雷。地雷放的少。自然走路就不會有事。
因為至少你能知道哪邊有地雷。

最的最怕的是,你將地雷滿滿的佈滿一地。
本篇文章回覆於2016-09-21 14:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

可樂快跑
檢舉此回應
我該怎麼說……
這樣的一個code………是一個寫程式寫了超過十年的人寫出來的東西………

更重要的,好像還不能講你、甚至是教訓你。

不然你就要跟我吵……

你今天寫的這樣的code,真的是誰看了誰都生氣。

在你學asp或是asp.net的時候。

你的老師、你的前輩或是你看的書,是教你code是這樣寫的嗎?

如果你在寫asp或是asp.net時就不會犯這樣的錯誤,那憑什麼你到php就會犯了這樣的錯誤?

反過來說,如果這樣的錯誤,就是你平常寫asp或是asp.net的習慣帶過來的話。

那就表示你根本就浪費這十幾年的生命了。

and……

如果這些東西你想說是你老師、你前輩或是你看的書上教你的………

那麼你的程式人生……真的被誤導的非常嚴重。

基本上你寫的這種做法根本不會在一個寫了超過5年的程式的人還會做的事。

如果寫了超過5年還會寫這種東西表示從來就沒有想好好研究或是提昇自己的技術本位。

就這樣的能力還想寫什麼教學去教別人的話就根本上是一種誤導他人的做法。

我建議你還是放掉你那種長期以來對code毫不敏感覺得能動就好的心態。

重新好好學習架構你的程式碼吧!

幾乎就是已經到了要整個打掉重練的情況了。

不要覺得說我講的話很什麼了不起憑什麼教訓別人或是覺得我講話很機車什麼的。

檯面上就算不說,檯面下光是看到你的code就生氣的至少就有三個人。

至於有沒有更多看了你的code就生氣的人我就不知道了。

說到這份上了,你還打算就此下去不改變做法我也無可奈何了。
本篇文章回覆於2016-09-21 14:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

蒼天浩月
檢舉此回應
可樂大大及星空大大您好
您們說的是, 我的code沒人交,都是一步一腳印自己diy來的(看書 看網站 參考別人的寫法)
剛開始寫程式就是只要功能出來就好,現在也是
因為慧根領悟力差,導致寫出來的code讓您們看了覺得很生氣
現在只知道 共用的 可以拉出來用function 表示
code 我也寫了不少,也找遍相關 關於code美化的資料,也去了解sql 隱碼攻擊, code效能的問題
但很報歉,我很想要這些資料,但我在書局找不到,也在網路上找不到
可能我下錯關鍵字或是誤會書本文字上的內容
罵對我來說,說真的可能無效了....因為我更希望的是 不是罵,而是指導
很多人說我吸收力不錯,但我沒有老師交,所以很多寫法觀念 都是參考他人的去模仿(不知對方寫的code 有無問題,總之 寫法不錯就跟著學了)
就像pdo裡面的
setFetchMode(PDO::FETCH_ASSOC);
拜讀了可樂大大PDO的那篇 原來可以這樣寫程 $select = $select1 -> fetch(PDO::FETCH_ASSOC);

我也很希望 自己寫的code 簡單易懂,這樣我也省的很多麻煩
就像之前提過
一個php 包html 如果用echo 的話 我是連懶得看都不想看
以前的我跟本不懂 用echo 秀html 會有問題???
但經過你們的指導 現在我包html的code 都用<?php if ?> <?php endif ?> 來做了
但我沒遇過,我周圍沒有任何程式設計師的朋友
所以我的知識淺薄, 並不知道 會造成前端設計師的困擾
綜合以上這些, 這就是我一路走到現在跌跌撞撞的歷程
曾經有人跟我提過,我很容易將事情複雜化, 也許這是我最大的致命傷!


本篇文章回覆於2016-09-21 15:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

蒼天浩月
檢舉此回應
如果是#9的CODE 你們會如何改寫
我還蠻好奇的...
每一筆資料有CHKBOX 而SelectItem 下拉式選單的值又是去資料庫撈資料 因為這樣才有辦法得到金錢,撈完後每一個值又去對應clothes_size 的內容\


像這樣

chk1 select select_1
1 1
2 2
3


select_2
1
2
3
4

select_3
1
2
3
4


chk2 select1 select_1a
1 1
2 2
3


select_2a
1
2
3
4

select_3a
1
2
3
4

chk3 select2 select_1b
1 1
2 2
3


select_2b
1
2
3
4

select_3b
1
2
3
4


當我chk1 選select裡面 2的值 對應 select_2 其它則隱藏
1
2
3
4

當我chk3 選select2 裡面的1的值 對應 select_1b 其它則隱藏
1
2

最後再把chk 1 和 3 及select 裡面的2 和select2 的值 和select_2 及select_1b的值存到資料庫裡
這樣的需求 且一定要這麼做 我蠻好奇 你們會寫出什麼樣精簡的code~@@
如果可以讓秀一手讓我參考嗎???
我會很感激的...

本篇文章回覆於2016-09-21 15:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

蒼天浩月
檢舉此回應
這是一個我那該特殊需求demo的網址 有興趣可以進來玩看看
也包含我那個需求
這網址並非實際上線,另外 資料庫的內容也會全部清除
http://lohasnet.tw/member_system/
本篇文章回覆於2016-09-21 16:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

可樂快跑
檢舉此回應
精簡code???

我從來不會說我寫的code多麼精簡。

但是至少他要是個能夠輕鬆維護的東西。

這叫做「低耦合性原則」。

看看你自己寫的東西吧!綁死成那樣……

沒有一個東西是能夠獨立運作輕鬆拆解的。

最根本的事情你並沒有做到,而有經驗的工程師一定會去做的。

就是絕對不會把「資料處理」跟「畫面顯示」的東西綁在一起做。

寫程式是一個必須自我不斷思考的事情。

參考別人的code是學習做法之一,但最終的點在於自己有沒有好好的去思考怎麼做、怎麼維護、怎麼樣有效率、怎麼樣不會造成維護上彼此的困擾?

然後你說你在書局找不到這些書………你真的有去好好的找過嗎?

這些知識在近年明明就被提出非常多的東西也有非常多的書籍。

光php也就出了像是:現代php、php大師_寫出頂尖的程式碼、php設計模式學習手冊。

你能說出你找不到,顯而易見的你根本就沒有花心思在這上面。

好吧!別的不說,我看你打算什麼時候才去弄這三本書回來唸。
本篇文章回覆於2016-09-21 16:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.