我正在尝试像这样扩展一个关联数组,但PHP不喜欢它.
我收到此消息:
Warning: array_push() expects parameter 1 to be array, null given
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
$newArray = array();
foreach ( $array as $key => $value ) {
$array[$key + ($value*100)] = $array[$key];
unset ( $array[$key] );
array_push ( $newArray [$key], $value );
}
//}
print_r($newArray);
Run Code Online (Sandbox Code Playgroud)
我哪里做错了?
编辑#2 - 到目前为止(2天后)的回复是个人意见和偏好,而不是对离线phoneGap应用程序在所有相关设备上轻松存储简单数据的各种选项的分析.因此,我没有接受任何答案,但我正在关注这个问题.
对于我正在构建的PhoneGap Web应用程序,我应该考虑哪种格式的持久性数据,我有点困惑.我一直在研究这个,但考虑到我平庸的要求,事情并不清楚.
该应用程序是一个教育应用程序,有大约100个左右的多项选择题和附加的一些记忆游戏.
下载后的应用程序可以保持脱机状态
它适用于所有支持phonegap的设备.
我想要读写的唯一数据是用户的表现,总计错误的次数,每张卡等以及游戏的任何高分.
这是所有非常基本的信息,可以在非常简单的js对象中保存.
我希望它是一个相当简单的解决方案,很容易维护/重复.
什么是我最好的选择?手机档文件api?JSON/lawnchair?本地存储?饼干?有没有办法'更新'应用程序并将其作为javascript中的对象?的WebSQL?sqilite?存储API?
其中一些似乎有点矫枉过正.
编辑是否存在设备差异,我应该进行一些设备检测并使用不同的技术?
我似乎找不到或写一个选择DEFAULT VALUE的sqlquery
(我不认为我可以在phpmyadmin中生成它来复制)
我试着选择它,好像它是一个记录,但无济于事......
$defaultValue_find = mysql_query(
"SELECT $group FROM grouptable WHERE $group='DEFAULT'")
or die("Query failed:".mysql_error());
$defaultValue_fetch = mysql_fetch_row($defaultValue_find);
$defaultValue = $defaultValue_fetch[0];
echo $defaultValue;
Run Code Online (Sandbox Code Playgroud) 目标 我有一个 svg,我想随浏览器窗口缩放。
参数
a) 保持其比例(这里是一个正方形)
b) 将 Bowser/设备窗口调整至 80%
c) 但最大为 800px。
d) 我对 javascript 解决方案不感兴趣
到目前为止的代码(虽然我已经尝试了很多组合)SVG根元素,保留纵横比已保留为默认值
svg viewBox="0 0 800 800"
Run Code Online (Sandbox Code Playgroud)
以及关于 html 和视口 HTML(嵌入对象)
object type="image/svg+xml" id="svgobject" data="question0final.svg"
Run Code Online (Sandbox Code Playgroud)
CSS,尝试过的东西,等等......
#svgobject{ position:absolute; top:0; left:0; height:100%; width:100%}
Run Code Online (Sandbox Code Playgroud)
(来自; 如何缩放 SVG 图像以填充浏览器窗口?)
#svgobject{width:80%; max-width:800px; margin-right: auto; margin-left: auto;}
Run Code Online (Sandbox Code Playgroud)
我阅读了许多好的资源,但我无法解决我的错误
仅供参考,这里是我在 SVG 定位上找到的一些更好的链接
SVG 文件是否使用 <img>、<object> 或 <embed>?
http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Web-SVG-Positioning.html
http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-ii
http://www.w3.org/TR/SVG/coords.html
http://coding.smashingmagazine.com/2012/01/16/resolution-independence-with-svg/
https://developer.mozilla.org/en/CSS/Scaling_of_SVG_backgrounds
(我发现 SVG 作为 CSS 背景似乎像素化)
编辑1 - 自发布以来我了解到底层问题是关于如何找到CARTESIAN PRODUCT(现在去谷歌),但不仅因为我不想要每一个烫发,我想找到使用相同子阵列的笛卡儿产品密钥永远不会超过一次,而我的"额外"问题则更多地是关于如何最大限度地减少笛卡尔产品所需的工作量(接受小错误率,我不得不说) -
想象一下......我有四个厨师和四个食谱,每个厨师都有每个食谱的分数,今天我希望每个厨师做一道菜(但不应该做两次菜),决定应该基于最好的所有四个(最高总分)排列(所以也许一个厨师不会使他个人最好).
我已经将数据放入多维数组中
array(
array (1,2,3,4),
array (35,0,0,0),
array (36,33,1,1),
array (20,20,5,3)
)
Run Code Online (Sandbox Code Playgroud)
它在每个子数组中具有与子数组相同数量的值对(如果有帮助的话)
实际上,子阵列的数量最多会达到8(因此最大烫数= 8!,大约40,000不是8 ^ 8,因为不允许使用许多组合)
如果有帮助,选择以这种格式存储数据是灵活的
我正在尝试创建第二个数组,根据KEYs输出子数组的最佳(即最高值)可能组合,其中每个子数组只能使用一个子数组
- 这里每个子阵列[0] [1] [2] [3]每个排列使用一次,每个子阵列键[0] [1] [2] [3]每次使用一次,在我的实际问题中我正在使用相关的数组,但这对于这个问题来说是额外的.--
所以这个例子会创建一个像newArray(35,33,5,4)这样的数组//注意没有使用[2] [0]
理所当然我宁愿不生产所有的烫发,而是,SOMEHOW,丢弃许多显然不是最合适的组合.
有关如何开始的任何想法?我会接受伪代码.
有关笛卡尔积的SO的示例,请参阅PHP 2D阵列输出所有组合
编辑2了解更多关于使笛卡尔积更有效的信息,也许为什么它必须是特定于案例的,如果你想看看你是否可以偷工减料(有风险)高效的笛卡儿积算法
如何创建两个数值数组(一个用于键一个用于值 - 与数组组合相反)
来源信息:
John => Physics, Mary => Medicine, Gary => Drama,
输出到
0=>Physics, 1=>Medicine, 2=>Drama
和
0=>John, 1=>Mary, 2=>Drama
这似乎很容易,但我没有运气.
我无法在同一个弹性 beanstalk 应用程序中访问我的两个环境中的任何一个,两者的错误消息都是:
加载页面时出现问题:配置验证异常:无效的选项规范(命名空间:'aws:rds:dbinstance',OptionName:'HasCoupledDatabase'):未知的配置设置。
我不知道如何解决这个问题(甚至不知道老实说这意味着什么)。任何帮助,将不胜感激!
编辑 :
此消息似乎是由 AWS 更新引起的。报告的最佳地点似乎是在 AWS 开发论坛上写文章。
我已经在这里开始了一个关于这个问题的线程,请添加您的声音:https : //forums.aws.amazon.com/thread.jspa?threadID=344213&tstart=0
问题:Safari没有玩球,而是用滚动条渲染我的SVG图像.
问题的改进版本:"我如何获得填充设定宽度并根据Safari中的宽高比计算高度?" (感谢Phrogz)
相关代码:
SVG文件
viewBox="0 0 800 800"
Run Code Online (Sandbox Code Playgroud)
(没有指定高度或宽度)
.objectwrapper {
max-width: 600px;
min-width: 150px;
margin-right: auto;
margin-left: auto;
}
.objectdiv {
max-width: 60%;
margin-right: auto;
margin-left: auto;
display: block;
}Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5" />
<meta http-equiv="expires" content="0" />
</head>
<body>
<div class="objectwrapper">
<div class="objectdiv">
<object type="image/svg+xml" data="question0optimize1.svg" width="100%" height="100%">
</object>
</div>
</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
在我试过的所有其他浏览器中,我通过窗口大小更改和ctrl +缩放获得了很好的平滑缩放.但Safari为我提供了一个较小的svg和滚动条.我究竟做错了什么?
我有两个数组.
ArrayA是数字
(ArrayA => 3, 7, 8)
Run Code Online (Sandbox Code Playgroud)
ArrayB是一个关联数组
(1=>bread, 2=>banana, 3=>fruit, 4=> milk, 5=>pizza, 6=> gum, 7=>corn, 8=>lager)
Run Code Online (Sandbox Code Playgroud)
我想创建第三个数组ArrayC,associative,它将ArrayA的值与ArrayB键匹配,并为ArrayA键提供相关的ArrayB值.
换句话说,从这个例子
ArrayC (3 => fruit, 7=>corn, 8=>lager)
Run Code Online (Sandbox Code Playgroud)
但是我的代码只给了我
ArrayC (3 => lager, 7=>lager, 8=>lager) //last value of ArrayB
Run Code Online (Sandbox Code Playgroud)
码:
$ArrayC = array();
foreach ($ArrayB as $keyB => $valueB) {
foreach ($ArrayA as $valueA) {
if ( $valueA = $keyB) {
$ArrayC [$valueA] = $valueB;
}
}
}
print_r($ArrayC);
Run Code Online (Sandbox Code Playgroud) 我的PHPstorm使用数组的格式摇摆不定.令人惊讶的是,我没有找到如何格式化这个数组的直接答案.我试过以下,我很惊讶单引号不起作用然后其他两个但没有运气...
$array = array(’$2,000,000’,’$3,000,000’,’$4,000,000’);
$array = array("$2,000,000","$3,000,000","$4,000,000");
$array = array("\$2,000,000","\$3,000,000","\$4,000,000");
Run Code Online (Sandbox Code Playgroud)
手册没有逗号可用.鉴于该数组仅用于HTML输出,我可以放
$array = array("Ūꯠꯠ","$$3ꯠꯠ","Ŭꯠꯠ");
Run Code Online (Sandbox Code Playgroud)
但我想了解如何正确地做到这一点!
我正在迭代一个JSON数组(从webworker AJAX调用中回忆)
var dataReceived = JSON.parse(xhr.responseText);//JSON verified as ok
//dataReceived.length verified
var dataProcessed = [];
for (var i = 0; i < dataReceived.length; i++) {
for ( var h = 0; h < dataReceived[i].length; h++) {
dataProcessed[i][h][0]=((dataReceived[i][h][0])*30)-30;
dataProcessed[i][h][1]=((dataReceived[i][h][1])*30)-30;
}
}
postMessage(dataProcessed);
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
dataProcessed [i]未定义
Javascript是否不能动态创建多维数组?
arrays ×6
php ×6
javascript ×2
svg ×2
amazon-rds ×1
array-push ×1
combinations ×1
cordova ×1
escaping ×1
foreach ×1
mysql ×1
phpmyadmin ×1
safari ×1
sql ×1