我有一个数组:
$countryList = array(
"GB" => "United Kingdom",
"US" => "United States",
"AF" => "Afghanistan",
"AL" => "Albania",
"DZ" => "Algeria"
);
Run Code Online (Sandbox Code Playgroud)
它继续......
当我获得一个国家/地区时,它就会出现,例如美国,但我需要将该值(值)与密钥匹配,在本例中为"US".我该怎么做?我看到的所有示例都与使用密钥获取值时需要使用该值来获取密钥.最佳输出将仅为"US",而不是阵列中的输出.
我已经尝试过echo,array_keys('United States', $countryList);但是它希望第一个参数在一个数组中而且它只是以美国形式出现,如果可能的话我宁愿不将其更改为数组.
我有一个令我困惑的奇怪问题.我有一个自制的内容管理系统,对于大多数CRUD操作,通过检查数据库中存在哪些字段,以用户友好的方式输出以编辑内容,然后将该内容提交回数据库.这些操作在Chrome中完美运行,但是在Internet Explorer和Safari中,只要我点击提交按钮,页面似乎就会刷新而不处理任何信息.
function createInsertForm($table, $formDesc, $carry, $carryUrl, $ext='', $formAppend='')
{
// init globals
global $cmsdir;
global $pluginsdir;
// put it together
echo '<script type="text/javascript" src="' . $pluginsdir . 'ckfinder/ckfinder.js"></script><script type="text/javascript" src="' . $pluginsdir . 'ckeditor/ckeditor.js"></script>';
echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="POST" class="form-horizontal" '.$formAppend.'>';
createForm($table, 'insert', $formDesc);
createFormButtons('yes', 'yes');
if ($_POST['submit'] == 'Submit') {
insertIntoDb($table, $carry, $carryUrl, $ext);
}
echo '</form>';
}
function createFormButtons($submit, $reset)
{
echo '<div class="form-actions-min">';
if ($submit == 'yes') {
echo '<input name="submit" type="submit" id="submit" …Run Code Online (Sandbox Code Playgroud) 可能是一个愚蠢的问题,但我似乎无法找到一个直接的答案.
是$id != ""一样的!empty($id)吗?
也就是它正确使用if(isset($id) && !empty($id)),以确定是否一个变量被设定,并没有空/空?
我有一个$name包含名字和姓氏的字符串,例如Bob Smith,假设用户输入bob smith我希望能够将他们的名字和姓氏的首字母大写.
我试过这个:$bar = ucfirst(strtolower($bar)); // Hello world!只输出Bob smith.如何才能使名字和姓氏都大写?
我table_name从以下字符串中获得的最有效方法是什么?我只能想到的substr()只是长度table_name可能并不总是一样
SELECT * FROM `table_name` WHERE `id` = '1'
Run Code Online (Sandbox Code Playgroud) Fancy box 3文档提供了一些有关其 AJAX 功能的示例。我希望能够单击一个按钮并加载一个“图库”,其中包含从 ajax 响应加载的图像。
我发现的一个例子(本页最后一个)需要在隐藏的 div 中对图库的图像路径进行硬编码;这很好,但我宁愿通过使用 AJAX 加载来减少页面加载时间。
我发现了一些看起来很有希望的东西,但我不知道如何在其中实现 ajax。有任何想法吗?
$.fancybox.open([
{
src : '1_b.jpg',
opts : {
caption : 'First caption'
}
},
{
src : '2_b.jpg',
opts : {
caption : 'Second caption'
}
}
], {
loop : false
});
Run Code Online (Sandbox Code Playgroud) 我需要将一个对象$ resultInput视为一个数组(比如$ resultInput被注释掉).但是,当我使用函数对象数组时,我得到一个错误资源ID#5.有什么问题?
require('dbc.php');
mysql_select_db($db);
$resultInput = mysql_query("SHOW COLUMNS FROM about WHERE Field NOT IN ('id', 'created', 'date_modified', 'last_modified', 'update', 'type', 'bodytext') AND Field NOT REGEXP '_image'"); // selects only the columns I want
//$resultInput = array('page_header', 'sub_header', 'content', 'content_short');
function objectToArray($object){
if(!is_object($object) && !is_array($object)){
return $object;
}
if(is_object($object)){
$object = get_object_vars( $object );
}
return array_map( 'objectToArray', $object );
}
// convert object to array
$array = objectToArray( $resultInput );
//show the array
print_r( $array );
Run Code Online (Sandbox Code Playgroud) 我使用了很多in_array功能,似乎让我的加载时间陷入困境.我在in_arrayphp文档中找到了以下代码.作者声明"这个函数比in_array()快五倍.它使用二进制搜索,应该可以用作直接替换."
function fast_in_array($elem, $array)
{
$top = sizeof($array) -1;
$bot = 0;
while($top >= $bot)
{
$p = floor(($top + $bot) / 2);
if ($array[$p] < $elem) $bot = $p + 1;
elseif ($array[$p] > $elem) $top = $p - 1;
else return TRUE;
}
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
然而这个功能起作用,但只有一半的时间,有时它不会输出它应该输出的所有内容,例如,如果我有一个苹果,橙子和柠檬的数组,并且匹配苹果和橙子它只会打印橙子或一些奇怪的东西.有人可以向我解释这个脚本到底是做什么的,以及为什么它不能替代它in_array.