怎么建立数组,然后用$_post (PHP) 输出来
<button id="A">
<div name="type" > type: double</div>
<div name="day"> day: May 12</div>
</button>
<button id="B">
<div name="type" > type: double</div>
<div name="day"> day: May 16</div>
</button>
<button id="C">
<div name="type" > type: single</div>
<div name="day"> day: May 4</div>
</button>
想建立一个数组:
A-->TYPE SINGLE
DAY May 12
怎么建这个数组,然后实现把这个数组变成$_post 的数组?
可以写成这样吗?
$_POST['id']['type']
$_POST['id']['day']
有点没看明白你提问的目的!
php数组的定义很宽泛,不需要预先定义变量,可以直接存放数据,有两种形式:索引数组(不指定键,系统自动分配数字键)、关联数组(自定义键,指定键)!
例如:想要获得如下结构的二维数组(关联数组)
['A' => [
'type' => 'TYPE_SINGLE',
'day' => 'DAY May 12'
],
'B' => [
'type' => 'TYPE SINGLE_2',
'day' => 'DAY May 13'
],
'C' => [
'type' => 'TYPE SINGLE_3',
'day' => 'DAY May 14'
]
]
php定义代码:
//第1种$abc = [
'A' => [
'type' => 'TYPE_SINGLE',
'day' => 'DAY May 12'
],
'B' => [
'type' => 'TYPE SINGLE_2',
'day' => 'DAY May 13'
],
'C' => [
'type' => 'TYPE SINGLE_3',
'day' => 'DAY May 14'
]
];
//第2种
$abc2 = [];//定义并重置变量,此行可不写
$abc2['A']['type'] = 'TYPE_SINGLE';
$abc2['A']['day'] = 'DAY May 12';
$abc2['B']['type'] = 'TYPE_SINGLE_2';
$abc2['B']['day'] = 'DAY May 13';
$abc2['C']['type'] = 'TYPE SINGLE_3';
$abc2['C']['day'] = 'DAY May 14';
//第3种(1、2的混合用法)
$abc3['A'] = ['type' => 'TYPE_SINGLE', 'day' => 'DAY May 12'];
$abc3['B'] = ['type' => 'TYPE_SINGLE_2', 'day' => 'DAY May 13'];
$abc3['C'] = ['type' => 'TYPE_SINGLE_3', 'day' => 'DAY May 14'];
以上三种写法是常用写法,还有其他形式,php数组功能很强大,可以存放任意数据类型,写法也很随意!$abc、$abc2、$abc3 数据结构相同,但是$abc会重置内部结构。
注:$_POST 是全局变量,适合从中获取(请求)数据,不建议你修改其内部数据&结构,防止键名冲突,破坏全局变量的结构。如果你修改了$_POST,的确,$_POST['A']['type'] 能得到字符串'TYPE_SINGLE'!
谢谢!还有个问题,$_POST[' '] 括号里面可以是变量吗?我想实现,点击一个button,来获取这个button的ID----whichButton.id 如果一个button的id是A,那
$_POST[whichButton.id]['type']能得到TYPE_SINGLE'?
按php语法是可以的!
$xyz = 'A';
$abc[$xyz] = ['type' => 'TYPE_SINGLE', 'day' => 'DAY May 12'];
$abc[$xyz]其实就是$abc['A']。
但是,你需要区分前后端业务,当你产生页面后,即php生成html后,页面是不受php控制了,只能通过javascript控制,也就是javascript中whichButton.id是不能和php中$_POST['键']['type']混合的,是两种脚本语言。
谢谢大神!那要想在PHP里用JavaScript的whichButton.id , 我应该怎么做?你不提醒,我就要混着用了。。。。
追答通过php生成html代码,将php数据转化成js数据,嵌到页面相应位置,让js去处理数据。
【json数据格式 是 一种标准数据格式,主流语言都支持识别这种数据】
举个例子:
红色框中是php代码,其他区域是javascript,红色框在页面产生后,会变成json字符串数据,塞到js中的pageParam.om_id中去。(各种语言都有专门转换、解析json数据的方法)
然后你可以用表单提交或者ajax提交数据上去。PHP接收到了,对象形式数据$data = json_decode($_POST['data'])或者数组形式数据$data = json_decode($_POST['data'],true);,就可以拿到想要的数据了。而且java python C#等后端也可以处理json数据。
是这个意思吗?