我在PHP中有一个数组
@IBOutlet weak var countLabel1: UILabel!
@IBOutlet weak var start: UIButton!
var count = 10
override func viewDidLoad() {
super.viewDidLoad()
var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self.start, selector: Selector("update"), userInfo: nil, repeats: true)
}
func update() {
if(count > 0) {
countLabel1.text = String(count--)
}
}
func timerFinished(timer: NSTimer) {
timer.invalidate()
}
我想检查索引3到7之间是否存在值,两者都是索引。
我有一个解决方法。我可以将索引3到7的数组复制到另一个数组中,然后检查$array = array(2, 3, 1, 2, 3, 2, 3, 3, 2, 1);
,但想知道是否有任何直接方法。
答案 0 :(得分:2)
您可以使用#!/usr/bin/env ruby
require 'shellwords'
InputDirPath = ".../OrthoTIF-3bands/"
OutputDirPath = ".../Ortho-compressed/"
i = 0
Dir.foreach(InputDirPath) do |item|
next if item == '.' or item == '..'
i += 1
name = File.basename(item,"tif")
puts "\n#{i}. gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR #{InputDirPath.shellescape}#{item.shellescape} #{OutputDirPath.shellescape}/#{name}_Compressed.tif"
output = `gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR #{InputDirPath.shellescape}#{item.shellescape} #{OutputDirPath.shellescape}/#{name}_Compressed.tif`
puts output
end
--> 1. gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR .../OrthoTIF-3bands/Bradshaw_Mts.Ortho.tif .../Ortho-compressed//Bradshaw_Mts.Ortho._Compressed.tif
--> sh: gdal_translate: command not found
循环简单地浏览第3到第7位:
for
就像@MarkBaker在对你的问题的评论中所说,有更短的方法可以做到,但这是最简单直接的(IMO)方法。
答案 1 :(得分:1)
将in_array()与array_slice() ....
一起使用$startPos = 3;
$endPos = 7;
if in_array($needle, array_slice($array, $startPos, $endPos - $startPos + 1)) {...}