我一直在玩弄PHP过滤器库.我喜欢它,但我无法执行简单的过滤功能.我基本上想要使输入数组中的那些值无效,这些值是字符串并且长度超过某个值.有没有办法做到这一点,
$data = array('input_string_array' => array('aaa', 'abaa', 'abaca'));
$args = array(
'component' => array('filter' => FILTER_DEFAULT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_length' => 1, 'max_length' => 10)
)
);
var_dump(filter_var_array($data, $args));
Run Code Online (Sandbox Code Playgroud)
我试过这个,它给了我错误.因为可能没有min_length/max_length选项可用.但那么如何实现呢?还有一个地方提到所有这些选项,如max_range,min_range,regexp.
另外,我在FILTER_CALLBACK过滤器中的过滤器中有另一个疑问.我想知道是否有办法将数据以外的参数传递给被调用的函数?像这样的东西,
echo filter_var($string, FILTER_CALLBACK, array("options"=> array("lengthChecker", "5")));
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助.
我有一个地图对象列表.这些地图对象具有属性/键,如id,condition_1,condition_2等.示例地图如下所示,
List<Map<String, Object>> allItems = Lists.newArrayList();
Map<String, Object> paramsMap = Maps.newHashMap();
paramsMap.put("id", "a");
paramsMap.put("condition_1", false);
paramsMap.put("condition_2", true);
paramsMap.put("condition_3", false);
allItems.add(paramsMap);
Run Code Online (Sandbox Code Playgroud)
因此,我需要过滤allItems对象,使其只有那些具有condition_1 = true&condition_2 = false,等等的地图对象.
我想过使用apache commons CollectionUtils.filter,但这似乎无法解决我的问题,因为我无法将地图条目指定为过滤条件.
我也不反对使用Google Guava,但我无法找到一个好的解决方案.
基本上我试图模仿_.where优秀的JavaScript库underscore.js中的功能.
我面临着一种奇怪的情况.当我尝试使用"mysql"连接连接到MySql数据库时,它可以工作.
mysql connection string -> mysql_connect($HOST, $USER, $PASSWORD, $DB);
Run Code Online (Sandbox Code Playgroud)
但是当我使用"mysqli"或"PDO"时连接失败立即失败
mysqli connection string -> mysqli_connect($HOST, $USER, $PASSWORD, $DB);
PDO Connection string -> new PDO("mysql:host=$HOST;dbname=$DB", $USER, $PASSWORD);
Run Code Online (Sandbox Code Playgroud)
它抛出的具体错误是,
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061
Run Code Online (Sandbox Code Playgroud)
你能帮助我吗?谢谢.
是否有一个简单的解决方案来获取使用PHP在用户工作站上运行的Java版本?基本上我想知道在访问我的门户网站的用户机器上运行的Java版本.由于我们的产品是基于Java的,因此这些数据将帮助我稍后做出一些政策决定.