Home  >  Article  >  Backend Development  >  请教下这样的例子怎么正确索引表单数组

请教下这样的例子怎么正确索引表单数组

WBOY
WBOYOriginal
2016-06-13 11:57:011028browse

请问下这样的例子如何正确索引表单数组

本帖最后由 u011601174 于 2014-05-14 23:20:31 编辑 感觉说起来有点绕,这样吧,我把遇到的这个问题说明下
客户端表单有多个数组,比如item数组,info数组,例如:







现在要验证表单,这4个项都要必填

我后台封装了一个函数,直接验证$_REQUEST['id'] 为空即可
但是遇到数组就很麻烦,因为函数的原因,传值的时候是这样传的

function validator($name){
    判断$_REQUEST['$name']是否为空
}

validator(‘id’),这样就比较好操作
如果不是表单数组还好,表单数组就非常麻烦,需要,把元素正确的索引才可以

现在我想问的是如何操作可以实现这样的效果
validator('item["title"]')

函数内可以正常的索引为
$_REQUEST['item']['title']

无论数组层数,只要传进去正确的数组元素字符串,就可以正确索引该元素的表单项,找不到这样的函数,只能用拆解字符串的办法,不知道有没有更好的办法

说白了就是如何正确的获取到未知的item和数组索引title,当然这是个2层的范例,如果能实现更多层更好
------解决方案--------------------
$ar = array(<br />  'item' => array('title' => '', 'intro' => ''),<br />  'info' => array('userid' => '', 'username' => ''),<br />);<br /><br />function validator($v, $k) {<br />  if(empty($v)) echo "$k 不能为空\n";<br />}<br /><br />array_walk_recursive($ar, 'validator');<br />
title 不能为空<br />intro 不能为空<br />userid 不能为空<br />username 不能为空<br />

当然打印的内容多半不符合你的要求
所以我说“关键在与判空后的操作”
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn